VBA-Fehlermeldung: Laufzeitfehler 1004

Hallo zusammen,

es geht um Folgendes: Ich möchte für meine Excel-Tabelle zur Erleichterung der Datenerfassung eine Userform erstellen. Der Befehl des VBA-Codes zum Erfassen der Daten sieht wie folgt aus:

Private Sub CommandButton2_Click() / Button nach Eingabe zum Erfassen
Dim lngPos As String

Set Frm = UserForm2 / meine Userform
ThisWorkbook.Sheets(„Beschwerde“).Activate / Tabellenblatt „Beschwerde“
lngPos = Range("A1048576 ").End(xlUp).Offset(1, 0).Row /Die Zeile der FEHLERMELDUNG beim Debuggen !!!???

With Frm
Cells(lngPos, 1).Value = .TextBox1.Value /Name
Cells(lngPos, 2).Value = .TextBox2.Value /Vorname
Cells(lngPos, 3).Value = .TextBox3.Value /KD-Nummer
Cells(lngPos, 4).Value = .TextBox4.Value /Problembeschreibung
End With
End Sub

Wenn ich das Programm ausführe, wird die Fehlermeldung angezeigt: „Laufzeitfehler 1004.Die Methode „Range“ für das Objekt „Global“ fehlgeschlagen“.

Könnte jemand mir helfen, wo ich falsch gemacht habe.

Danke im Voraus
Guten Abend
erwinus

Hallo Erwinus,

Dim lngPos As String

wenn schon dann so
Dim lngPos as Long

lngPos = Range("A1048576 ").End(xlUp).Offset(1, 0).Row

Mach das Leerzeichen aus Range() raus, es irritiert.

Du hast Excel2007?

Gruß
Reinhard

Hallo Reinhard,

danke für deine Antwort.

Es tut mir Leid. Weil ich nachträglich mit „string“ versucht hatte, vergaß ich, die Stelle wieder auf „long“ zu setzen. Es funzte trotzdem nicht. Die Leerstelle ist im Quelltext nicht vorhanden. Ich habe Excel 2000. Liegt es irgendwie daran?

Grüße
erwinus

Ich habe Excel 2000. Liegt es irgendwie daran?

Hallo Erwinus,

XL2000 hat 65536 Zeilen.

Aber vergiss das, gewöhn dir gleich an sowas so zu schreiben:

Range(„A“ & Rows.Count).End(xlup)…

Dann klappt das in allen Versionen.

Gruß
Reinhard

Hallo Reinhard,

vielen Dank für die Lösung und für den Tipp. Es funzt :smile:))

Grüße
erwinus