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
#51
Übrigens: der ganze Block - es gehört noch mehr dazu, das Makro läuft so natürlich nicht - wurde 2002 das letzte Mal angepasst. Probleme gab es bei der Umstellung auf das neue Excel-Format xlsx, das ist aber nicht das Problem.
Antworten Top
#52
Hallo Charly,

da der Thread jetzt schon recht lang ist hab ich nicht alles gelesen. Daher meine Frage - hast Du mal den Zellinhalt mal z.B. mit Formeln geprüft?
=CODE(...)
=LÄNGE(...)
Arbeitsblatt mit dem Namen 'Tabelle1'
 ABC
1 322
2 101

ZelleFormel
B1=CODE(A1)
C1=LÄNGE(A1)
B2=CODE(A2)
C2=LÄNGE(A2)
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg
Wenn da ein Ergebnis kommt, dann ist man schon schlauer. Sind dort ein oder mehrere Leerzeichen = CODE(32), dann könnte man bei der Prüfung trimmen.
If Trim(Cells(j + l, 3).Value) <> "" Then
Ist es ein Steuerzeichen, dann vielleicht mit Replace entfernen
If Replace(Cells(j + l, 3).Value, chr(10),"") <> "" Then

Übrigens bringt die Excel-Funktion "CODE" nur die Codezahl des ersten Zeichens das Zellinhaltes. Daher am Besten zusätzlich noch die Länge prüfen ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#53
Hm.
, Code leere Zelle brngt #Wert, Länge =0.

Womit wohl bewiesen ist, dass diese Zelle entgegen aller Unkerei hier wirklich leer ist, was ich aber schon andersweitig bewiesen habe. Vielleicht glauben jetzt auch die ewigen Zweifler dran.
Antworten Top
#54
Hallo Charly,

Zitat:ich habe einen Code der in einer Spalte mit (Datumszellen) das die 1. Zelle finden muss, die belegt ist: dieser Teil läuft.
Danach muss die erste Zelle gefunden werden, die leer ist. Das Makro läuft in diesem Schleifenteil leider über die leere Zelle hinaus und stoppt nicht, es macht hier absolut keinen Sinn, das komplette Makro hier rein zu  stellen.

Du hast hier geschachtelte If-Anweisungen und wenn die erste If-Anweisung nicht erfüllt ist, kommt Excel eben nicht in die zweite If-Anweisung.

If-Anweisungen

Da kannst schreiben was Du willst, das ist eben so.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#55
Das ist es eben nicht, vielleich liest du mal mene Antwort im Thread 43 an will wissen.

Beitrag wegen Verstoß gegen Forenregeln gekürzt.
Antworten Top
#56
Hallöchen Charly,

Die hier resultierende Meldung

MsgBox "1." & lRow

hast Du bekommen oder nicht?

In der Schleife prüfst Du auf verschieden von leeren Zellen und nicht auf Leere: <> "". Für den Fall einer leeren Zelle hast Du keine Aktion programmiert.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#57
Hallo,

ich weiß das dich mein Beitrag eh nicht interessiert aber ich habe mal eine Mappe erstellt.


Angehängte Dateien
.xlsm   karomue.xlsm (Größe: 16,38 KB / Downloads: 7)
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#58
Hi,

(20.07.2015, 15:21)karomue schrieb: nein, so geht das nicht. Wie jetzt schon mehrfach gepostet. Nimms nich übel. aber ich bin es langsam leid bei jedem der sich hier äußert immer wiede die gleichen Einwände zu schreiben.

Jetzt antworte ich wie Du: Aber lesen kannst Du schon?

Mal ganz kurz:
Du fragst mit Schleife 1, ist die Zelle A5 ungleich leer, wenn ja, dann gehe in Schleife 2 und frage dort, ist die Zelle A5 gleichzeitig gleich leer, dann "Stop". Und Du fragst immer noch: Warum stoppt Excel nicht?

Eine Zelle, die voll (also "ungleich leer") ist, kann nicht gleichzeitig leer sein!
Was Du da programmiert hast, sind keine aufeinanderfolgenden Schleifen, sondern geschachtelte Schleifen.
Der einzige Zweig der Schleife 1 (der Zweig: Ja, die Zelle ist nicht leer), geht um die zweite Schleife rum, die fragt, ist die Zelle leer. Das heßt, die zweite Schleife startet nur, wenn die Zelle nicht leer ist.
Wie soll Excel also jemals zum Stop kommen?

Wenn Du ein bißchen VBA könntest oder nicht so großkotzig überheblich daherkommen würdest, würdest Du dir vielleicht mal das von mir zitierte erste Codebeispiel anschauen und Deinen Denkfehler sehen.

Wenn Du jetzt nochmal kommst und sagst: Ihr seid alle zu doof, der erste Schritt tut doch, warum tut dann der zweite nicht, dann schließe ich das Thema. Und das ist keine Drohung, sondern eine Ankündigung!
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • Fred0
Antworten Top
#59
Wenn Du jetzt nochmal kommst und sagst: Ihr seid alle zu doof, --> klar, !!!

Aber versuchen wirs mal anders rum:


Code:
Sub Test_leereZelle()

Cells(2, 2).Value = "und es "
Cells(3, 2).Value = "geht doch "
For i = 1 To 5
    Cells(i, 2).Select
    If Cells(2, i) <> "" Then
        If Cells(2, i).Value = " " Then
            Stop
        End If
    End If
Next i
Cells(4, 2).Value = "schade"

Stop
Cells.Select
Cells.Clear
End Sub

Lasst das mal laufen und aktiviert das Überwachungsfenster mit i und
Code:
Cells(2, i).Value
dann taktet im Einzelschritt durch und beobachtet die Ausgabe.

Und dann alle die so vollmundig gebrüllt haben das geht nicht !!! Gebt euern Account zurück denn ihr seid es nicht wert in einem Excell-Fachforum zu sein!! Setzt euch in die entfernteste Ecke in euerm Keller... Eine Entschuldigung wäre angebracht.

Ein unschönes hat das allerdings: ich dachte es wäre ein E_2007-Fehler, es werden aber bei E_365 auch keine leeren Zellen gefunden.
Antworten Top
#60
Hallo,

ich lasse mir das immer auch sehr gerne im Direktfenster (STRG + G) anzeigen.

Code:
Sub Test_leereZelle()

Cells(2, 2).Value = "und es "
Cells(3, 2).Value = "geht doch "
For i = 1 To 5
   Debug.Print "Schleifenwert " & i
   Cells(i, 2).Select
   If Cells(2, i) <> "" Then
       Debug.Print "1. Bedingung: Zelle ist " & IIf(Cells(2, i) <> "", "gefüllt", "leer")
       If Cells(2, i).Value = " " Then
           Debug.Print "2. Bedingung: Zelle ist " & IIf(Cells(2, i) = " ", "leer", "gefüllt")
           Stop
       End If
   End If
Next i
Cells(4, 2).Value = "schade"

Stop
Cells.Select
Cells.Clear
End Sub

Da wird bei mir die erste Bedingung nur einmal erfüllt und wie ist es bei dir?
Gruß Stefan
Win 10 / Office 2016
Antworten Top


Gehe zu:


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