gimli3311
Goto Top

Bereich Markieren und Kopieren (Verständnis)

Guten Tag Zusammen,

ich hab ein Verständnisproblem was das Thema angeht einen Bereich zu markieren und dann zu kopieren.
Hier ist erstmals der Codeschnipsel

wb.Range("A29:N" & wb.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngOut  

Also ich versuch es mal zu Erklären und dann komme ich auf mein Problem hin.

wb = ist die Variable des Worksheets Objektes.
Range = markiert den Bereich von A29 bis N29 und mit dem Objekt wb werden die Zellen gezählt in Spalte A
die von unten nach oben gezählt werden (End(xlUp).Row)
Copy= Kopiert diesen Bereich und fügt den Bereich in rngOut ein

Hab ich das alles Richtig verstanden?

Ich selber habe ein Code geschrieben der mit die Überschrift ermittelt. Die Überschrift ist Variable in der Zeilen länge.
Heißt Sie kann in A29 sein aber auch in A34. gemacht hab ich das so:

'Aktive Sheet (gefundene Datei) wir von Zelle A1 bis A60 durchsucht  
            For Each sucheV1 In ActiveSheet.Range("A10:A60").Cells  
               'Wenn Gesuchte Text = den Vorgegebenen ist gehts weiter  
               If sucheV1.Text = arrVersion1(1) Then
                        'Makiert die Gesuchte spalte  
                        sucheV1.Activate
               End If
            Next

Hinweis: Der Code ist nur länger ist nur Ausschnitt.


Nun weiß ich jetzt das die Überschrift in sucheV1.Activate anfängt
Mit sucheV1.Offset(1,0) hab ich die erste Zeile meines Datenbereiches. Jetzt hab ich mir gedacht das ich sucheV1.Offset(1,0) anstelle der "A29" reinschreiben könnte. also das der Code dann so aussieht:

wb.Range("sucheV1.Offset(1,0):N" & wb.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngOut  

dies geht aber leider nicht :/

Hätte mir jemand eine Lösung und vielleicht eine gute Erklärung dazu das ich das mal verstehe?

Grüße

Gimli3311

Content-Key: 265455

Url: https://administrator.de/contentid/265455

Printed on: April 18, 2024 at 05:04 o'clock

Mitglied: 114757
Solution 114757 Mar 06, 2015 updated at 15:32:56 (UTC)
Goto Top
Zitat von @Gimli3311:
wb = ist die Variable des Worksheets Objektes.
Range = markiert den Bereich von A29 bis N29 und mit dem Objekt wb werden die Zellen gezählt in Spalte A
die von unten nach oben gezählt werden (End(xlUp).Row)
Copy= Kopiert diesen Bereich und fügt den Bereich in rngOut ein

Hab ich das alles Richtig verstanden?
Nicht ganz, A29 ist die Startzelle des Bereichs. Hiermit wb.Cells(Rows.Count, 1).End(xlUp).Row wird zuerst die Unterste Zelle in Spalte A genommen und von dort aus die nächste nicht leere Zelle nach oben gesucht .End(xlUP) von dieser Zelle wird dann der Zeilenindex genommen .Row, so das wir im Endeffekt zum String "A29:N" die Zeilennummer hinzunehmen.


Nun weiß ich jetzt das die Überschrift in sucheV1.Activate anfängt
Mit sucheV1.Offset(1,0) hab ich die erste Zeile meines Datenbereiches. Jetzt hab ich mir gedacht das ich sucheV1.Offset(1,0)
anstelle der "A29" reinschreiben könnte. also das der Code dann so aussieht:

> wb.Range("sucheV1.Offset(1,0):N" & wb.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngOut  
> 

des goat fei niet face-wink
Hier gibt es mehrere Möglichkeiten, das hier ist z.B. eine davon
wb.Range("A" & sucheV1.Offset(1,0).Row & ":N" & wb.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngOut  
Es gibt hier noch einige andere Möglichkeiten...Kannst du alles in den Referenzen nachschlagen ...
https://msdn.microsoft.com/de-de/library/office/ff838238.aspx
http://ms-excel.eu/faqs/excel-vba-texte/vba-zellen-und-bereiche.html
http://www.excel-easy.com/vba/range-object.html

Leider wird aus deinem Post nicht ganz klar was du genau kopieren willst .

Gruß jodel32
-edit- Korrektur
Member: Gimli3311
Gimli3311 Mar 06, 2015 at 15:34:17 (UTC)
Goto Top
Danke jodel32,

Habs jetzt endlich mal kapiert jetzt muss ich es nur noch richtig Anwenden können :D

Wünsch dir ein schönes Wochenende

Gruß Gimli3311
Member: Gimli3311
Gimli3311 Mar 06, 2015 at 15:37:47 (UTC)
Goto Top
Zitat von @114757:

Leider wird aus deinem Post nicht ganz klar was du genau kopieren willst .



Also ich habe eine Überschrift und unter der hab ich einen Variablen Datenbereich. Ich will alles unter der Überschrift kopieren bis es keine Daten mehr gibt.
Dein Code kopiert ja nur die eine Zeile aber ich hab schon eine Idee wie ich es mache das es mir so viele Zeilen kopiert bis kein Wert mehr kommt :D

Danke und Gruß Gimli3311
Mitglied: 114757
114757 Mar 06, 2015, updated at Mar 09, 2015 at 13:50:02 (UTC)
Goto Top
Zitat von @Gimli3311:
Dein Code kopiert ja nur die eine Zeile aber ich hab schon eine Idee wie ich es mache das es mir so viele Zeilen kopiert bis kein
Wert mehr kommt :D
Das hatte ich oben bereits korrigiert, weil es eben nicht ganz klar war face-wink...