VBA Programmierung - Current Region - Dringend!!!!

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.

xzarax 
Fragesteller
 27.11.2012, 11:49

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
0