Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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

string wird falsch als leer erkannt

string wird falsch als leer erkannt
21.11.2022 13:02:29
rr
Liebe Excel-Experten,
ich habe mir ein Makro zum Identifizieren von doppelten Zellwerten herausgesucht, das beinahe funktioniert. Es soll zwei verschiedene MsgBoxen ausgeben, je nachdem, ob im definierten Bereich doppelte Zellinhalte vorhanden sind oder nicht. Falls es doppelte Zellen gibt, soll die MsgBox diese Zellen auflisten.
Nun ist mein Makro zwar in der Lage, die MsgBox mit der Auflistung der Zellen korrekt zu generieren, diese wird aber nicht angezeigt. Stattdessen wird auch bei gedoppelten Zellen immer nur die Msgbox ausgegeben, dass alles ok ist. Wo liegt mein Denkfehler?

   Sub doppelte_Eintraege_finden()
Dim int_Spalte As Integer, int_erste_Zeile As Integer, int_letzte_Zeile As Long, int_x As Integer
Dim str_Auswahl As Variant
int_erste_Zeile = 2
int_Spalte = 1
int_letzte_Zeile = Range("A" & Rows.Count).End(xlUp).Row
For int_x = int_letzte_Zeile To int_erste_Zeile Step -1
If WorksheetFunction.CountIf(Range(Cells(int_erste_Zeile, int_Spalte), Cells(int_letzte_Zeile, int_Spalte)), Cells(int_x, int_Spalte)) > 1 Then
str_Auswahl = str_Auswahl & "Zelle: " & Cells(int_x, int_Spalte).Address & "mit Inhalt: " & Cells(int_x, int_Spalte).Value & Chr(13)
End If
Next int_x
If str_Auwahl = "" Then
MsgBox "Alles ok, keine Fehler"
Else
MsgBox "Alles OK. Folgende doppelte Zeilen vor Listendruck korrigieren" & Chr(13) & str_Auswahl
End If
End Sub
Ergebnis ist: egal ob doppelte Zellen vorhanden sind oder nicht, es wird immer nur die erste MsgBox ausgegeben.
Das seltsame ist: wenn ich "künstlich" die zweite Msg Box unter dem "Else" ausgeben lasse, indem ich in der if_Bedingung statt der leeren Anführungszeichen irgendeinen willkürlichen Wert angebe z.B.

If str_Auwahl = "7" Then MsgBox "Alles ok, keine Fehler"
wird wie erwartet die zweite MsgBox unter Else ausgegeben, und diese beinhaltet dann den korrekten string str_Auswahl. Das macht mich ratlos. Wenn Excel den string str_Auswahl ausgeben kann, müsste es ja auch erkennen können, dass er nicht leer ist... Hat jemand eine Idee?

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: string wird falsch als leer erkannt
21.11.2022 13:09:20
ChrisL
Hi
"Option Explicit" aktivieren, dann fallen solche Schreibfehler auf.
str_Auswahl vs. str_Auwahl
Wenn wir schon dabei sind. Würde str_Auswahl als String deklarieren anstelle von Variant.
cu
Chris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige