VBA Programmierung - Current Region - Dringend!!!!
hallo :)
also, ich möchte mit dem Befehl
Selection.CurrentRegion.Select Selection.Copy
einen bereits gefilterten Bereich kopieren.
Mein Problem ist jetzt allerdings, dass die Überschrift auch mitmarkiert/-kopiert wird.
Könnte mir jemand bitte sagen ob/wie man die erste Zeile abwählen kann?
Es wär toll wenn mir jemand schnell eine Antwort gibt, es wäre wirklich dringend. :/
lg kathi
1 Antwort
Hallo Kathi, hab grad nur Excel XP/2002 zur Verfügung, dort steht folgendes Beispiel in der Hilfe:
Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, tbl.Columns.Count).Select
Das sollte eigentlich genau das sein, was du brauchst. Mit Offset wird der Bereich um eine Zeile nach unten verschoben, mit Resize wird der Bereich um eine Zeile reduziert um eine Leerzeile am unteren Ende zu vermeiden.
super danke für die antwort, genau das richtige. :D
Ich hab jetzt allerdings ein neues problem: ich habe zuerst einen wert ("verschrottet") gefiltert und anschließend mit dem oben genannten befehl markiert, in ein anderes tabellenblatt kopiert und in dem ausgangsblatt gelöscht. funktioniert jetzt auch alles super, nur mein problem ist, dass wenn kein wert "verschrottet" vorhanden ist, der code nicht funktioniert. kann mir jemand helfen, das problem zu lösen bitte? (evt. mit if-then-else?)
hier der code:
ActiveSheet.Range("$A$1:$B$3546").AutoFilter Field:=2, Criteria1:= _
"VERSCHROTTET"
Selection.Range("A1").CurrentRegion.Offset(1, 0).Resize(Range("A1").CurrentRegion.Rows.Count - 1).Select
Selection.Copy
Sheets("Verschrottet").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Sheets("Bestandsliste").Select
Application.CutCopyMode = False
Selection.Range("A1").CurrentRegion.Offset(1, 0).Resize(Range("A1").CurrentRegion.Rows.Count - 1).Select
Selection.EntireRow.Delete
Selection.CurrentRegion.Select
ActiveSheet.Range("$A$1:$B$3546").AutoFilter Field:=2