Wie verhext, Makro beendet Falsch
04.01.2004 16:53:33
Walter
machmal ist es doch wie verhext. Habe mit Eurer Hilfe das VBMakro jetzt zusammengebastelt und es läuft prima.
Um das Button zu starten und zu kontr. habe ich ein "Button" auf die Mappen-Oberfläche plaziert. (Steuerelement)
Da ich aber eine UserForm erstellt habe und dort die verschiedenen
Command-Button plaziert habe, habe ich mein Makro hineinkopiert.
Es wird alles Richtig abgearbeitet, nur geht beim beenden der Courser in die
"B3" Zelle. Wieso ???
Bei dem anderen Button bleibt Richtigerweise die aktive Zelle die
letzte Richtige.
Hier mein Makro:
Private Sub CommandButton9_Click()
Application.ScreenUpdating = False
Dim lc As Range
Dim z As Long
'Set lc = ActiveCell 'muß unten stehen sonst Fehlermeldung
'ActiveSheet.Unprotect ("bk") 'schutz aufheben
z = ActiveCell().Row 'ab hier mein Makro
'MsgBox Cells(Selection.Row, 3) & vbLf & Cells(Selection.Row, 4) & vbLf & _
' Cells(Selection.Row, 5)
If ActiveSheet.Range(Cells(z, 2), Cells(z, 23)).Select Then
Antwort = MsgBox("Sie haben folgende Zeile mit den Daten ausgewählt: " _
& Chr(13) & Chr(13) & " " & Cells(Selection.Row, 3) _
& Chr(13) & Chr(13) & " " & Cells(Selection.Row, 5) _
& Chr(13) & Chr(13) & " " & Cells(Selection.Row, 4) _
& Chr(13) & Chr(13) & "Löschen JA drücken", vbCritical + vbYesNo)
If Antwort = vbYes Then
Selection.Interior.ColorIndex = xlNone ' Farbe rausnehmen
Selection.Borders.LineStyle = xlNone ' Rahmen raus
Selection.Delete Shift:=xlUp ' zeile löschen nach oben setzen
Selection.Borders(xlEdgeTop).LineStyle = xlContinuous 'Linie oben
'-------------------- ab hier aktive zelle setzen -----------------------------------
Set lc = ActiveCell 'muß hier stehen sonst Fehlermeld.
z = Range("a4").End(xlDown).Row 'diese Zeile muß mit der nächsten
ActiveSheet.Range(Cells(z, 1), Cells(z, 1)).Select
Selection.ClearContents 'hier bleibt die Formatierung
' Selection.Delete ' verschiebt die zellen
Selection.Borders(xlEdgeTop).LineStyle = xlNone 'Linie oben raus
lc.Select
Else
ActiveSheet.Range(Cells(z, 3), Cells(z, 3)).Select 'Typ selektiert
End If
End If
' ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios _
' :=True, Password:="bk" 'schützen
Unload Me
'UserForm1.Show 'Walter.Hide ' UserForm.Hide
Application.ScreenUpdating = True
End Sub
Vielleicht kann jemand dies ausprobieren ???
Danke im voraus
Gruss Walter