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

Laufzeitfehler 1004 Match-Eigenschaft

Laufzeitfehler 1004 Match-Eigenschaft
01.08.2022 12:05:29
Thomas
Hallo,
ich häng jetzt schon eine gefühlte ewigkeit an einem Laufzeitfehler 1044 Die Match-Eigenschaft des WorksheetFunction-Objekt kann nicht zugeordnet werden
Die Code Zeile sieht so aus, die erste,CountIf funktioniert, der Fehler kommt dann in der Match Zeile

If WorksheetFunction.CountIf(tbl2022.Columns(intKeySpalteHR), Cells(lngRowPlan, 1)) > 0 Then
intZeile = WorksheetFunction.Match(Cells(lngRowPlan, 1), tbl2022.Columns(intKeySpalteHR), 0)
Die Daten in Cells(lngRowPlan sind offensichtlich Zahlen, wenn ich in die Zelle einmal doppelt reinklicke, dann sagt er mir das das als Text gespeicherte Zahlen sind und dann läuft die Prozedur auch durch, aber erst nach dem doppelklick in die Zeile, vorher wird mir auch nicht angezeigt das das als Text gespeicherte Zahlen sind.
Wie kann ich das korrigieren? Die Zahlen schreibe ich so in die Zelle

.Cells(lngRow, 2) = .Cells(lngRow, 3) & .Cells(lngRow, 6) & .Cells(lngRow, 8)
.Cells(lngRow, 2).NumberFormat = "General"
Danke

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 1004 Match-Eigenschaft
01.08.2022 12:21:17
GerdL
Moin Thomas,
die Werte schreibst du in Spalte B. Die Prüfung erfolgt mit dem Wert aus Spalte A. Verstehe ich das richtig?
Gruß Gerd
AW: Laufzeitfehler 1004 Match-Eigenschaft
01.08.2022 12:39:41
Thomas
Hallo Gerd,
die Werte werden in Spalte B geschrieben und auch dort geprüft, die

intKeySpalteHR
hat als Wert 2 für die zweite Spalte
AW: Laufzeitfehler 1004 Match-Eigenschaft
01.08.2022 12:29:13
Rudi
Hallo,
durch die &-Verknüpfung ist das Text und keine Zahl.
versuche
.Cells(lngRow, 2) = ( .Cells(lngRow, 3) & .Cells(lngRow, 6) & .Cells(lngRow, 8))*1
Gruß
Rudi
AW: Laufzeitfehler 1004 Match-Eigenschaft
01.08.2022 12:56:22
Thomas
Hallo Rudi,
damit klappt es leider auch nicht, dann bekomme ich einen Anwendungs- oder objekorientierten Fehler....
Anzeige
AW: Laufzeitfehler 1004 Match-Eigenschaft
01.08.2022 13:27:07
Daniel
Hi
wenn das, was du in die Zellen schreibst, einer Zahl entspricht, dann wird Excel auch versuchen, das in eine Zahl zu wandeln wenn es möglich ist.
Dabei gibt es zwei Punkte zu beachten:
1. bei der Eingabe darf nicht das Zahlenformat TEXT eingestellt sein. Wenn das aktiv ist, findet keine Umwandlung von Text in Zahl statt. Auch eine nachträgliche Änderung des Formates hat keinen Effekt.
Wenn das das Problem ist, sollte es helfen das .Numberformat = "General" vor dem Einfügen des Wertes auszuführen.
2. sollte der eingefügte Wert ein Komma, oder Tausenderpunkte enthalten oder ein Datum sein, wird VBA beim Einfügen immer von amerikanischen Formaten ausgehen und diese anwenden um zu erkennen ob die Eingabe eine Zahl sein könnte.
Wenn man jedoch deutsche Schreibweisen hat und diese richtig erkannt werden sollen, dann muss man das angeben, in dem man statt .Value die Eigenschaft .FormulaLocal verwendet.
als ganzes wahrscheinlich so:

.Cells(lngRow, 2).NumberFormat = "General"
.Cells(lngRow, 2).FormulaLocal = .Cells(lngRow, 3) & .Cells(lngRow, 6) & .Cells(lngRow, 8)
Gruß Daniel
Anzeige
AW: Laufzeitfehler 1004 Match-Eigenschaft
01.08.2022 13:36:43
Thomas
Oh man, da hab ich jetzt ein paar Stunden dran gesessen und dann ist die lösung so einfach, das ich "nur" das NumberFormat, VOR die Zuweisung der Werte schreiben muss............
Daniel Vielen Dank für den Tip!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige