Registriert seit: 19.07.2015
Version(en): 365/2016
Ich überwache ja im Überwachungsfenster. Die zu prüfende Zelle. Der Typ ist Variant/Date solange die Zelle gefüllt ist. ist sie lee ändert sich das in Variant/Empty, läßt sich aber auch mit "Is Emty" nicht ermitteln.
Registriert seit: 19.07.2015
Version(en): 365/2016
Debug.Print, das sollte ich mir mal wieder zu Gemüte führen. Ich habe Mitte Febr. einen üblen "Crash" erlebt, der offenbar auch mein Gedächnis beeinträchtigt hat. Bin gerede dabei, die Lücken weider zu füllen...
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
Hi, hmm, ich habe mir jetzt nur die letzten paar Beiträge angeschaut, aber deinen Code verstehe ich nicht! Was hat das mit Leerzellen zu schaffen? Code: Sub Test_leereZelle() 'der Name passt auch nicht da wird keine leere Zelle gesucht? Cells(2, 2).Value = "und es " Cells(3, 2).Value = "geht doch " For i = 1 To 5 Cells(i, 2).Select 'Wozu? das ist sinnlos 'warum sind die Einträge in der Spalte B gemacht und die Abfrage bezieht sich auf ZEILE 2? If Cells(2, i) <> "" Then ' warum zuerst was prüfen ob was drinnensteht wenn ohnehin nach einem Leertasteneintrag gesucht wird? If Cells(2, i).Value = " " Then Stop 'für was sind die Stop? End If End If Next i Cells(4, 2).Value = "schade" 'für was ist das? Stop 'für was sind die Stop? Cells.Select 'warum zuerst was markieren? Cells.Clear End Sub 'versuche es einmnal so ;) Sub Test_Space() Dim i As Long Cells(2, 2).Value = "und es " Cells(3, 2).Value = "geht doch " Cells(4, 2).Value = " " For i = 1 To 5 If Cells(i, 2).Value = " " Then MsgBox " in Zelle: " & Cells(i, 2).Address(0, 0) & " steht ein Leerzeichen ganz alleine da" End If Next i MsgBox "es wird jetzt gelöscht" Cells.Clear End Sub
lg Chris Feedback nicht vergessen. 3a2920576572206973742064656e20646120736f206e65756769657269672e
Registriert seit: 19.07.2015
Version(en): 365/2016
Debug.Print, das sollte ich mir mal wieder zu Gemüte führen. Ich habe Mitte Febr. einen üblen "Crash" erlebt, der offenbar auch mein Gedächnis beeinträchtigt hat. Bin gerede dabei, die Lücken weider zu füllen...
Registriert seit: 19.07.2015
Version(en): 365/2016
Hallo Chris.
In Spalte 3 stehen - Im 1. Durchgang großen Makro - von Zeile 60 bis 76 Daten dann kommen 2 Leerzeilen. Der Block von 60 bis 76 muss anschließend markiert, copiert und in eine andere Tabelle eingefügt werden. Die ganzen .select-Anweisungen dienen nur zu meiner persönlichen Orientierung, fallen im Endzustand raus.
Ja, das kleine war ja nur ein Testmakro um die Zweifler hier zu "bedienen"...
Registriert seit: 19.07.2015
Version(en): 365/2016
@all: Im Grunde genommen geht es darum, wie man eine leere Zelle finden kann, Nach dem es in E_365 auch nicht geht glaube ich auch nich mehr so an einen Excelfehler. Ich hatte beim Übergang von E_2003 auf 2007 auch ein Problem: Code: 'Windows(AktuelleMappe).Activate ActiveWorkbook.Activate
vielleicht ist die Abfrage auf " " nicht mehr passend für Versionen ab 2007???
Registriert seit: 11.04.2014
Version(en): Office 2007
21.07.2015, 15:49
(Dieser Beitrag wurde zuletzt bearbeitet: 21.07.2015, 15:50 von Steffl.)
Hallo, MsgBoxen und Direkfenster gemischt Code: Sub Test_leereZelle() Dim i As Long Dim lRow As Long
Cells(2, 2).Value = "und es " Cells(3, 2).Value = "geht doch " For i = 2 To 5 Debug.Print "Schleifenwert " & i lRow = Cells(i, 2).End(xlDown).Row + 1 MsgBox "Erste freie Zelle ist " & Range("B" & lRow).Address(0, 0) MsgBox "Zelle " & Cells(i, 2).Address(0, 0) & vbCr & "Zellinhalt """ & Cells(i, 2).Value & """" & vbCr _ & "Ist sie leer? " & IsEmpty(Cells(i, 2).Value) & vbCr & "Ist sie gefüllt? " & (Cells(i, 2).Value <> "") Cells(i, 2).Select If Cells(i, 2) <> "" Then Debug.Print "1. Bedingung: Zelle ist " & IIf(Cells(i, 2) <> "", "gefüllt", "leer") If Cells(i, 2).Value = " " Then Debug.Print "2. Bedingung: Zelle ist " & IIf(Cells(i, 2) = " ", "leer", "gefüllt") Stop End If End If Next i Cells(4, 2).Value = "schade"
Stop Cells.Select Cells.Clear End Sub
Gruß Stefan Win 10 / Office 2016
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
21.07.2015, 21:34
(Dieser Beitrag wurde zuletzt bearbeitet: 21.07.2015, 21:37 von schauan.)
Hallöchen,
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 10.04.2014
Version(en): 2016 + 365
21.07.2015, 22:25
(Dieser Beitrag wurde zuletzt bearbeitet: 22.07.2015, 08:45 von Rabe.)
Hi Stefan, (21.07.2015, 15:49)Steffl schrieb: MsgBoxen und Direkfenster gemischt sag ich doch: mit diesem Code wird im Falle einer vollen Zelle in der zweiten Schleife kein Ergebnis kommen. Schreib irgendwo in B2-B8 etwas rein oder schreib nirgends was rein, es kommt nie: "die Zelle ist leer" und das Makro stoppt auch nicht aufgrund Schleife 2. z.B.: Zeile 3 und 4 gefüllt, sowie 6 gefüllt: Hier Dein Code auf das Wesentliche gekürzt: Sub test()
Dim i As Long
For i = 2 To 8
Debug.Print "Schleifenwert " & i
If Cells(i, 2) <> "" Then
Debug.Print "1. Bedingung: Zelle ist " & IIf(Cells(i, 2) <> "", "gefüllt", "leer")
MsgBox ("Stop, da voll")
If Cells(i, 2).Value = " " Then
Debug.Print "2. Bedingung: Zelle ist " & IIf(Cells(i, 2) = " ", "leer", "gefüllt")
MsgBox ("Stop, da leer")
Stop
End If
End If
Next i
End Sub
VBA/HTML - CodeConverter für Office-Foren, AddIn für Excel/Word 2000-2013 - komplett in VBA geschrieben von Lukas Mosimann. Projektbetreuung durch mumpel Code erstellt und getestet in Office 15 Im Direktfenster steht: Schleifenwert 2 Schleifenwert 3 1. Bedingung: Zelle ist gefüllt Schleifenwert 4 1. Bedingung: Zelle ist gefüllt Schleifenwert 5 Schleifenwert 6 1. Bedingung: Zelle ist gefüllt Schleifenwert 7 Schleifenwert 8 Wo kommt da jetzt die 2. Bedingung? Auch mit Deinem kompletten Makro wird nie aufgrund der zweiten Bedingung (in Schleife 2) gestoppt. Denn: die geprüfte Zelle ist entweder voll oder leer, nie beides gleichzeitig.
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Ralf,
ich wollte dies nur dem TE aufzeigen, was bei seinem Code rauskommt. Das es so ist, wie Du es geschrieben hast, weiß ich.
Gruß Stefan Win 10 / Office 2016
|