Hallo (mal wieder ),
in meinem VBA Code möchte ich die über ein UserForm eingegebenen Werte auf Gültigkeit prüfen. Das funktioniert gut, so lange sich die Daten auf „einem“ Tabellenblatt („Tabelle1“)befinden und ich dieses vorher über Select oder Activate angewählt habe.
Wenn die Daten jedoch auf einem anderen Tabellenblatt zu finden sind („Tabelle2“), dann bekomme ich den Laufzeitfehler „Anwendungs- oder objektdefinierter Fehler“ zurück.
Wenn ich das entsprechende Tabellenblatt vor der Prüfung anwählen und nach der Prüfung wieder zurück auf das vorherige Tabellenblatt wechsel, funktioniert die Prüfung.
Versucht habe ich schon folgendes:
If Application.WorksheetFunction.CountIf(ThisWorkbook.Worksheets(„Tabelle2“).Range(Cells(3, 1), Cells(loLetzteZeile, 3)), cboWert1.Value) = 0 Then … usw
If Application.WorksheetFunction.CountIf(Worksheets(„Tabelle2“).Range(Cells(3, 1), Cells(loLetzteZeile, 3)), cboWert1.Value) = 0 Then … usw
Wenn ich den Range mit [„CityPairs!A3:A182“] definiere funktioniert zwar die Prüfung auf einem fremden Tabellenblatt, jedoch fehlt mir dann die Dynamik der letzten Zeile. Denn die kann sich erweitern.
In der VBA Hilfe bin ich leider nicht fündig geworden bzw. habe für Range genau diese Schreibweise gefunden.
Vielen Dank schon mal für’s gucken,
Gruß Axel