2.6k Aufrufe
in Tabellenkalkulation von noldi Mitglied (477 Punkte)
Hallo zusammen

Ich habe folgenden Code in einer Userform.

Private Sub cmdUebernehmen_Click()
'Fügt die eingetragenen Werte ins Tabellenblatt und schließt das
Formular frmPersonalstammbogen

Dim intErsteLeereZeile As Long


With ActiveSheet
intErsteLeereZeile = .Cells(Rows.Count, 1).End(x1Up).Row + 1

.Cells(intErsteLeereZeile, 1).Value = Me.txtPN.Value
.Cells(intErsteLeereZeile, 2).Value = Me.cmdAnrede.Value
.Cells(intErsteLeereZeile, 3).Value = Me.txtName.Value
.Cells(intErsteLeereZeile, 4).Value = Me.txtGeburtsdatum.Value
.Cells(intErsteLeereZeile, 5).Value = Me.txtSoll.Value
.Cells(intErsteLeereZeile, 6).Value = Me.txtUrlaub.Value
.Cells(intErsteLeereZeile, 7).Value = Me.txtEingestellt.Value
.Cells(intErsteLeereZeile, 8).Value = Me.txtFestnetz.Value
.Cells(intErsteLeereZeile, 9).Value = Me.txtMobil.Value
.Cells(intErsteLeereZeile, 10).Value = Me.txtEmail.Value
.Cells(intErsteLeereZeile, 11).Value = Me.txtEintritt.Value
End With

Unload frmPersonalstammbogen
End Sub


Ich erhalte immer die Meldung:
Laufzeitfehler 1004
Anwendungs oder objektdefinierter Fehler.

Was habe ich flasch in diesem Code

5 Antworten

0 Punkte
von hajo_zi Experte (9.1k Punkte)
in welcher Zeile?
Warum .Value ?
nur wenige sehen Deine Datei.

Gruß Hajo
0 Punkte
von m-o Profi (22.9k Punkte)
Hallo Noldi,

ersetze mal
End(x1Up)

durch
End(xlUp)

Also statt 1 ein kleines L.

Gruß

M.O.
0 Punkte
von noldi Mitglied (477 Punkte)
Hallo zusammen

Komme einfach nicht dahinter

Habe hier mal die Datei aber total abgespeckt hochgeladen.

http://www.file-upload.net/download-8496450/Dummy-D---N--
-2014.xlsm.html


Vielleicht weis jemand Rat

Danke Gruß Noldi
0 Punkte
von m-o Profi (22.9k Punkte)
Hallo Noldi,

hier die bearbeitete Datei: Dummy bearbeitet.

Wie schon in meiner Antwort geschrieben, funktioniert der Code mit der Zeile
intErsteLeereZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1

einwandfrei.

Gruß

M.O.
0 Punkte
von saarbauer Profi (15.6k Punkte)
Hallo,

folgende Berichtigungen sind aus meiner Sicht erforderlich

Private Sub cmdUebernehmen_Click()
'Fügt die eingetragenen Werte ins Tabellenblatt und schließt das
'Formular frmPersonalstammbogen (Hochkomma, da dies m. E. ein Kommentar ist)
Dim intErsteLeereZeile As Long


With ActiveSheet
intErsteLeereZeile = .Cells(Rows.Count, 1).End(x1Up).Row + 1 (ersetzen durch)
intErsteLeereZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1 (s. AW 2)
.Cells(intErsteLeereZeile, 1).Value = Me.txtPN.Value
.Cells(intErsteLeereZeile, 2).Value = Me.cmdAnrede.Value
.Cells(intErsteLeereZeile, 3).Value = Me.txtName.Value
.Cells(intErsteLeereZeile, 4).Value = Me.txtGeburtsdatum.Value
.Cells(intErsteLeereZeile, 5).Value = Me.txtSoll.Value
.Cells(intErsteLeereZeile, 6).Value = Me.txtUrlaub.Value
.Cells(intErsteLeereZeile, 7).Value = Me.txtEingestellt.Value
.Cells(intErsteLeereZeile, 8).Value = Me.txtFestnetz.Value
.Cells(intErsteLeereZeile, 9).Value = Me.txtMobil.Value
.Cells(intErsteLeereZeile, 10).Value = Me.txtEmail.Value
.Cells(intErsteLeereZeile, 11).Value = Me.txtEintritt.Value
End With

Unload frmPersonalstammbogen
End Sub

Dann die in () texte noch löschen.

Gruß

Helmut

P.S. deine Dummydatei wird bei mir mit einer Fehlermeldung geöffnet.

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...