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.

Vergleich zweier Nummern in If-Abfrage funktioniert nicht
#1
Hi,

ich habe ein Makro geschrieben, dass aus einem ExcelExport von Bestellungen die wichtigsten Daten (Bestellnummer, Position, Summe, etc.) rauszieht und in ein Tabellenblatt "Bestellübersicht" überträgt. Der Export aktualisiert sich wöchentlich und updatet ob tatsächliche Kosten schon angefallen sind oder die Rechnung noch offen ist...

Um die zu aktualisierende Bestellung in der "Bestellübersicht" wiederzufinden, geht das Makro die Zeilen durch und sucht nach einer Übereinstimmung von Bestellnummer und Position :  

If Cells(k, 14).Value = orderNr And Cells(k, 15).Value = position Then

die Bestellnummer (bspw. 9001234567) wird aus dem Export in orderNr als Variant  gespeichert (da zahl so groß, habe ich gelesen, dass variant das der richtige Datentyp ist).

Nun zum Problem:

Diese Abfrage If Cells(k, 14).Value = orderNr gibt False zurück, obwohl beide die gleiche Bestellnummer beinhalten. Die Nummer wird vorher mit dem Befehl: Cells(k, 14).Value = orderNr eingegeben, oder stand vorher schon drin.

Komischerweise erkennt er ein paar der Bestellnummern und zwar die, die vorher schon ohne Makro drin standen und aus mir unbekannten Grund so ein Kästchen haben:
[
Bild bitte so als Datei hochladen: Klick mich!
]

Die anderen Nummern als Text zu formatieren ändert obiges Problem aber nicht. Huh

Könnt ihr mir da bitte weiterhelfen?

LG JB
Antworten Top
#2
Hallo,

prüf mal deine Spalte mit den Bestellnummern was für einen Typ sie haben (ISTZAHL usw).
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#3
Es wäre wesentlich leichter zu helfen, wenn du eine Beispieldatei hochladen würdest, in der das Problem ersichtlich ist. Bilder sind hübsch anzusehen, helfen aber meist nicht.

Ich rate mal, dass die eine Zahl tatsächlich eine Zahl, die andere ein Text ist. Es bringt nichts, eine Zahl als Text zu formatieren, sie bleibt letztlich eine Zahl. Wenn du auf einen Golf "Ferrari" draufschreibst, bleibt es dennoch ein VW.

Du kannst die betreffenden Spalten markieren (einzeln, nicht gleichzeitig) und dann über den Reiter Daten - Text in Spalten auf "Fertig stellen" klicken. Dadurch wird die Spalte in eine Zahl umgewandelt.
Andere Variante: 
- Schreibe in eine beliebige freie Zelle eine "1" (ohne Anführungszeichen)
- Kopiere diese Zelle mit Strg+C
- Markiere die Spalte mit den "Textzahlen"
- Wähle Einfügen - Inhalte einfügen - multiplizieren - ok
Schöne Grüße
Berni
Antworten Top
#4
Schon mal vielen Dank für die Antworten.

ISTZAHL gibt WAHR zurück...

MisterBurns. Deine Tipps haben bei mir leider nicht funktioniert.

Ich habe jetzt mal eine Beispieldatei angehängt. Die Spalten, die eigentlich aktualisiert werden sollten, es aber nicht tun, sondern neu unten angefügt werden, sind gelb markiert.

Vielen Dank
Antworten Top
#5
Hi,

Zitat:Ich habe jetzt mal eine Beispieldatei angehängt.

und wo???
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#6
Anhang hat nicht funktioniert. Die Datei ist zu groß
Antworten Top
#7
Jetzt


Angehängte Dateien
.xlsm   Test.xlsm (Größe: 335,88 KB / Downloads: 6)
Antworten Top
#8
Hoi,

wenn du das nicht formatierst siehste es auf den ersten Blick
Zahlen orientieren sich immer rechtsbündig, Text linksbündig.
Machst du es eindeutig, ist alles auf der Selben Seite einer Zelle
Antworten Top
#9
Hallo,

(13.06.2018, 10:17)jb95 schrieb: ISTZAHL gibt WAHR zurück...

in deiner Datei nicht immer (Es sind diejenigen Zeilen die so ein dir unbekanntes Kästchen haben)
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#10
Zitat:MisterBurns. Deine Tipps haben bei mir leider nicht funktioniert.

Ich garantiere dir, dass der Tipp mit dem kopieren/Inhalte einfügen funktioniert. Damit werden alle Werte in Zahlen umgewandelt, die vorher Text waren. Das musst du natürlich für beide Spalten in den Tabellenblättern machen, sonst ist es sinnlos.
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • jb95
Antworten Top


Gehe zu:


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