Anzeige
Archiv - Navigation
1316to1320
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
Inhaltsverzeichnis

Makro um MsgBox ergänzen

Makro um MsgBox ergänzen
27.06.2013 06:44:30
Erwin
Guten Morgen,
ich habe nachfolgenden Code, der funktioniert und mir fehlende Formeln generiert:
Sub Leerzelle_pruefen_ergaenzen()
Dim RnG As Range
Dim Loletzte&, x&, j&
Loletzte = Range("EndeBereich").Row - 1 'im Namensnanager definiert s.ausgeblendete Zeile
For j = 11 To 11                         '11 = Spalte K
For x = 7 To Loletzte                   'ab Zeile 7 wird geprüft
If IsEmpty(Cells(x, j)) Then          'wenn Zelle leer, dann
Cells(x, j).Select                 'Zelle wird markiert
If j = 11 Then Cells(x, j).FormulaLocal = _
"=WENN(" & Cells(x, j - 1).Address(0, 0) _
& "="""";"""";WENN(" & Cells(x, j - 1).Address(0, 0) _
& "=System!$R$6;""nein"";""Fehler"")))"
If MsgBox("In " & Cells(x, j).Address(0, 0) _
& " wurde die fehlende Formel eingefügt:" _
& vbLf & vbLf & Cells(x, j).FormulaLocal & vbLf & vbLf & vbLf _
& "Weitersuchen?", vbYesNo)  vbYes Then Exit Sub
End If
Next
Next
End Sub
Wenn jetzt aber überall Formeln enthalten sind und das Makro nichts machen muss, merkt man es auch nicht, dass alles passt.
Ich wollte nur nur noch eine kleine MsgBox, dass das Makro gelaufen ist und keine Formeln zu ergänzen waren.
Wo und wie muss es in den Code?
Grüße
Erwin

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro um MsgBox ergänzen
27.06.2013 07:30:34
hary
Moin Erwin
Select und j(ist ja immer 11) brauchst du nicht. Deine Formel versteh ich nicht.
Aber probier mal so mit einer Boolean Variablen.
Sub Leerzelle_pruefen_ergaenzen()
Dim RnG As Range
Dim Loletzte&, x&
Dim ersetzt As Boolean
Loletzte = Range("EndeBereich").Row - 1 'im Namensnanager definiert s.ausgeblendete Zeile
For x = 7 To Loletzte                   'ab Zeile 7 wird geprüft
If IsEmpty(Cells(x, 11)) Then          'wenn Zelle leer, dann
Cells(x, 11).FormulaLocal = _
"=WENN(" & Cells(x, 11 - 1).Address(0, 0) _
& "="""";"""";WENN(" & Cells(x, 11 - 1).Address(0, 0) & " vbYes Then Exit Sub"
ersetzt = True
End If
Next
If ersetzt = False Then MsgBox "Es wurden keine Formeln eingesetzt", vbInformation, "Hinweis"
End Sub

gruss hary

Anzeige
AW: Makro um MsgBox ergänzen - Danke
27.06.2013 08:05:16
Erwin
Hallo Harry,
herzlichen Dank für die frühe Hilfe - passt super.
Grüße
Erwin

AW: Makro um MsgBox ergänzen
27.06.2013 07:57:22
Matthias
Hallo
Ein Link zum Orginalbeitrag wäre schon sinnvoll gewesen.
Auch würden Andere dann das Ganze besser verstehen.
Ich habe nun hier die 6.Version der Datei
https://www.herber.de/bbs/user/86068.xlsm
Gruß Matthias

@ Matthias - du hast Recht
27.06.2013 08:08:58
Erwin
Guten Morgen Matthias,
du hast Recht - hätte ich machen sollen.
Ich wollte aber nicht, dass sich jemand mit dem kompletten Makro und der Tabelle beschäftigt, ich dachte es wäre zu umfangreich. Ich habe deshalb nur einen Teil rauskopiert.
Ich bin aber hoffentlich noch immer lernfähig und werde es in Zukunft beachten.
Grüße
Erwin

Anzeige
funzt denn das Merken von DragAndDrop bei Dir
27.06.2013 08:34:29
DragAndDrop
Hallo Erwin
was mir übrigns damals schon aufgefallen ist ...
Du deaktivierst ja DragAndDrop
Bei mir wird es nicht zurückgesetzt(auf Startzustand), so das ich es immer in den Optionen selbst wieder einstellen muss.
Funktioniert das denn bei Dir wirklich?
Gruß Matthias

Merken von DragAndDrop geht nicht
27.06.2013 09:20:07
DragAndDrop
Hallo Matthias,
du hast Recht, das klappt nicht wirklich; auch bei mir muss ich es per Hand wieder anklicken.
Habe aber noch keine Zeit und Muße gehabt, mich darum zu kümmern; bzw. hier im Forum zu suchen.
Wäre aber toll, wenn du eine Idee hättest :)
Grüße
Erwin

Anzeige
Merken von DragAndDrop geht ...
27.06.2013 12:17:36
DragAndDrop
Hallo
Es klappte nicht, weil Du den Zustand immer gleich wieder reversierst.
Nur im Workbook_Activate und im Workbook_Deactivate benutzen
Open und Close lässt Du einfach weg, dann klappts.
Private Sub Workbook_Activate()
bolDRAGnDrop = Application.CellDragAndDrop
Application.CellDragAndDrop = False
End Sub
Private Sub Workbook_Deactivate()
Application.CellDragAndDrop = bolDRAGnDrop
End Sub
Beim Öffnen
Erst greift das Ereignis: Open -> dann Activate'und kehrt es wieder um
Beim Schließen:
Erst greift das Ereignis: Close -> dann DeActivate
Du brauchst also nur 1x die Variable füllen, da nach Open auch noch das Workbook_Activate - Ereignis greift.
Beim Schließen genauso. Da nach dem Close das Workbook_Deactivate greift.
Gruß Matthias

Anzeige
Merken von DragAndDrop geht ...nicht
27.06.2013 15:30:11
DragAndDrop
Hallo Matthias,
wenn ich das richtig verstaden habe, habe ich die beiden Makros in die "Diese Arbeitsmappe" getan, gespeichert, ...
Leider geht das bei mir nicht, wenn ich diese Datei schließe, eine neue ööffne - und dann kann ich nach wie vor nicht drag and drop machen.
Auch wenn ich "Deactivate..." explizit ausführe passiert bei mir ncihts.
Sorry
Erwin

DragAndDrop
28.06.2013 09:45:36
Matthias
Hallo Erwin
Ich poste nichts was ich nicht selbst teste. Getestet habe ich aber nur unter XL2000/XL2007
XL2010 habe ich mir bewusst nicht gekauft.
Bitte probiere es mal an dieser Datei:
https://www.herber.de/bbs/user/86104.xls
Rückmeldung ist erwünscht.
Gruß Matthias

Anzeige
AW: DragAndDrop
28.06.2013 12:49:47
Erwin
Hallo Matthias,
so, ich habe das ausführlich getestet und es funktioniert auch unter Excel 2010 mit .xlsm.
Danke nochmals für deine unermüdliche Hilfe.
Grüße
Erwin

Danke für die Rückmeldung ... kwT
28.06.2013 21:34:17
Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige