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

vba - Typen unverträglich

vba - Typen unverträglich
15.09.2022 10:58:36
Fred
Hallo Excel Experten,
ich brauche Hilfe.
In Sheet "Ergebnisse" sind die Spiele mit Ergebnissen.
Die Endstände sollen entsprechend in Sheet "Lager2" eingetragen werden.
Fehlermeldung: "Typen unverträglich"
Es liegt anscheinend daran, dass wenn ein Spiel in Sheet "Ergebnisse" nicht vorhanden ist, eine Fehlermeldung erscheint.
In Zeile 23 ("Lager2") ist ein Spiel eingetragen, welches in "Ergebnisse" nicht vorhanden ist. -- Löscht man dieses Spiel, läuft das Makro fehlerfrei.
Kann im Makro dies verbessert werden?
https://www.herber.de/bbs/user/155187.xlsm
Gruss
Fred

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

Betreff
Datum
Anwender
Anzeige
AW: vba - Typen unverträglich
15.09.2022 11:17:52
Nepumuk
Hallo Fred,
so:

Public Sub Ergebnis_neu2()
sn = Sheets("Lager2").ListObjects(1).DataBodyRange
sp = Sheets("Ergebnisse").ListObjects(1).DataBodyRange
With CreateObject("scripting.dictionary")
For j = 1 To UBound(sp)
.Item(sp(j, 1)) = Array(sp(j, 12), sp(j, 13), sp(j, 14), sp(j, 15))
Next
For j = 1 To UBound(sn)
If .Exists(sn(j, 1)) Then
sn(j, 311) = .Item(sn(j, 1))(0)
sn(j, 312) = .Item(sn(j, 1))(1)
sn(j, 313) = .Item(sn(j, 1))(2)
sn(j, 314) = .Item(sn(j, 1))(3)
End If
Next
End With
Sheets("Lager2").ListObjects(1).DataBodyRange = sn
End Sub
Gruß
Nepumuk
Anzeige
AW: vba - Typen unverträglich
15.09.2022 11:34:48
Fred
Hallo Nepumuk,
die Zuordnungen in eine "Wenn / Exists-Methode" einzubauen, ist eine perfekte Lösung.
Vielen Dank für deine Aufmerksamkeit und Kompetenz!
Gruss
Fred
AW: vba - Typen unverträglich
15.09.2022 11:23:49
Piet
Hallo
sehr höfliche Frage zum Code von snb, einer der besten Programmierer die ich kenne:
Stimmen die Daten im Array wirklich überein? Da habe ich im Augenblick meine Zweifel.
Mir fiel auf das die Zeilen der ID Nr. in Lager2 und Ergebniss nicht übereinstimmen!
z.B. Die ID Nr von Lager2, in Zeile 11+12 stehen im Ergebniss in Zeile 487 + 496
Ist das Ergebniss im Array trotzdem korrekt?
mfg Piet
Anzeige
AW: vba - Typen unverträglich
15.09.2022 11:49:06
Fred
Hallo Piet,
die Ergebnisse aus Sheet "Ergebnisse" werden durchgehend der entsprechenden ID in Sheet "Lager2" richtig zugeordnet.
Das "Problem" ist gelöst.
Gruss
Fred
AW: vba - Typen unverträglich
15.09.2022 11:29:44
Daniel
Hi
du kannst abfragen, ob der gesuchte Wert in der Liste vorhanden ist, und wenn nein, diesen überspringen.

    For j = 1 To UBound(sn)
If .exists(sn(j, 1)) Then
sn(j, 311) = .Item(sn(j, 1))(0)
sn(j, 312) = .Item(sn(j, 1))(1)
sn(j, 313) = .Item(sn(j, 1))(2)
sn(j, 314) = .Item(sn(j, 1))(3)
End If
Next
die Frage ist, was mit den Werten in sn(j...)) passieren soll, wenn kein Eintrag in Ergebnisse vorhanden ist.
Sollen dann die vorhanderen Werte beibehalten oder gelöscht werden?
wenn sie gelöscht werden sollen, müsstest du das im Else-Teil des Ifs programmieren,aber das solltest du alleine hinbekommen, wenn du dictionarys in dieser Form verwendest.
Gruß Daniel
Anzeige
AW: vba - Typen unverträglich
15.09.2022 11:36:14
Fred
Hallo Daniel,
so ist es perfekt!
Gruss
Fred

188 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige