Hallo zusammen,
ich habe einen Datenabzug der regelmäßig ausgeführt wird. Aufgrund geringer Spezifizierungsmöglichkeiten muss noch händisch nachgearbeitet/gelöscht werden. Ich wollte mir dafür ein simples Makro bauen, bin in VBA allerdings nicht sonderlich bewandertund habe mir den aktuellen Kenntnisstand angelesen bzw. ergoogelt.
Meine Tabelle hat ca. 100 Zeilen und geht bis Spalte Q. Wenn in Zelle A2-A100 nicht der Buchstabe "K" steht, dann soll die Zeile gelöscht werden. Danach: Wenn in Zelle C2-C100 "Tdg" oder "Tagnoo" steht, dann löschen!
Danach soll die Spalte "Flotte" aus dem hinteren Bereich in Spalte C kopiert werden. Die letzte Spalte "nicht abgerechnet" soll gelöscht werden.
Der erste Absatz (Definitionen: Dim...) ist mir darüber hinaus nicht klar und ich verstehe ihn im Grundsatz nicht. Bisher hats aber meistens so funktioniert ;)
Ich würde mich freuen wenn mich jemand konstruktiv auf meine (Denk-)Fehler hinweist. Dankeschön!
Exakt den selben Vorgang will ich auch noch für zwei andere Tabellenblätter abbilden, aber das sollte ja dann einfach anzupassen sein.
Code:
Sub Aufraeumen()
Dim i As Long
Dim letzteZeile As Long
letzteZeile = Range("A500").End(xlUp).Row
'durchläuft alle Zellen (ohne Titelzeile)
For i = letzteZeile To 2 Step -1
'Wenn Zelle A ungleich Konsum (K) dann
Sheets("Kennzahlen").Select
If Not Cells(i, 1).Value Like "*K*" Then
'Zeile löschen
Rows(i).Delete Shift:=xlUp
End If
'Wenn in C Tagnoo oder Tdg steht dann
If Cells(i, 3).Value Like "*Tagnoo*" Or "*Tdg*" Then
'Zeile löschen
Rows(i).Delete Shift:=xlUp
End If
'Spalte Flotte einfügen
Columns("Flotte").Select
Application.CutCopyMode = False
Selection.Copy
Columns("C:C").Select
Selection.Insert Shift:=xlToRight
'Spalte NaT löschen
Columns("nicht abgerechnete Transporte").Select
Selection.Delete Shift:=xlToLeft
Next
End Sub
|