Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

leere Zelle ermitteln
#61
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.
Antworten Top
#62
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...
Antworten Top
#63
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.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#64
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...
Antworten Top
#65
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"...
Antworten Top
#66
@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???
Antworten Top
#67
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
Antworten Top
#68
Hallöchen,
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#69
Hi Stefan,

(21.07.2015, 14: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.
Antworten Top
#70
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste