Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
356to360
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
356to360
356to360
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wie verhext, Makro beendet Falsch

Wie verhext, Makro beendet Falsch
04.01.2004 16:53:33
Walter
Hallo Fachleute,
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

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie verhext, Makro beendet Falsch
04.01.2004 16:58:12
DieterB
Hallo walter,
ich verstehe Deinen Code zwar nicht so wirklich, aber es sieht so aus,
als wenn du im Else-Zweig die Zelle selektierst.

Gruß

DieterB
Fehler selbst gefunden
04.01.2004 17:44:46
Walter
Hallo Dieter,
herzlichen Dank für den Tip.
Beim Aufruf der Userform stand der Bezug der Tabelle.
Man muß nur mal angestoßen werden...
Gruss Walter
Gern geschehen o.T.
04.01.2004 18:00:55
DieterB
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige