ich habe eine Exceldatei ein Makro programmiert.
Das funktioniert auch (es geht darum Zeilen neu zu sortieren)
.
Sub Blub()
Dim Zeile As Long
Dim TabEnd As Long
Dim Zeile2 As Long
Dim TabEnd2 As Long
Dim Zeile3 As Long
Dim TabEnd3 As Long
Dim Zeile4 As Long
Dim TabEnd4 As Long
Range("Q4:AA27").ClearContents
TabEnd = Tabelle3.Cells(Rows.Count, 16).End(xlUp).Row
TabEnd2 = Tabelle3.Cells(Rows.Count, 1).End(xlUp).Row
TabEnd3 = Tabelle3.Cells(Rows.Count, 1).End(xlUp).Row
TabEnd4 = Tabelle3.Cells(Rows.Count, 1).End(xlUp).Row
For Zeile = 4 To TabEnd
For Zeile2 = 4 To TabEnd2
If Tabelle3.Cells(Zeile, 16).Value = Tabelle3.Cells(Zeile2, 1).Value Then
Tabelle3.Cells(Zeile, 17).Value = Tabelle3.Cells(Zeile2, 3).Value
Tabelle3.Cells(Zeile, 19).Value = Tabelle3.Cells(Zeile2, 4).Value
End If
Next Zeile2
For Zeile3 = 4 To TabEnd3
If Tabelle3.Cells(Zeile, 16).Value = Tabelle3.Cells(Zeile3, 6).Value Then
Tabelle3.Cells(Zeile, 21).Value = Tabelle3.Cells(Zeile3, 8).Value
End If
Next Zeile3
For Zeile4 = 4 To TabEnd4
If Tabelle3.Cells(Zeile, 16).Value = Tabelle3.Cells(Zeile4, 10).Value Then
Tabelle3.Cells(Zeile, 23).Value = Tabelle3.Cells(Zeile4, 12).Value
Tabelle3.Cells(Zeile, 25).Value = Tabelle3.Cells(Zeile4, 13).Value
Tabelle3.Cells(Zeile, 27).Value = Tabelle3.Cells(Zeile4, 14).Value
End If
Next Zeile4
Next Zeile
End Sub
Das Makro funktioniert einwandfrei wenn ich es im Editor abspule.
Jetzt wollte ich es per CommandButton aufrufen.
Zuerst hab ich es so probiert
Private Sub CommandButton21_Click()
Call Bli
Call Blub
Call Bla
End Sub
Alle anderen Macros werden abrufen, nur das oben zitierte Makro spult, nicht richtig ab. Es löscht mir die alten Daten nicht.
Obwohl es bei Aktivierung im Editor immer einwandfrei funktioniert.
Woran liegt das?
Ich hab dann noch mal getestet ob es funktioniert, wenn ich es bei eigenem direkt zugewiesenem Button abspule, aber auch da habe ich den selben Fehler.
Die alten Daten werden nicht gelöscht. (Die alten Daten befinden sich in Zeile Q4 bis AA26
Ich hoffe ihr könnt mir helfen.
LG JIE