2.2k Aufrufe
Gefragt 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
Beantwortet von hajo_zi Experte (9.1k Punkte)
in welcher Zeile?
Warum .Value ?
nur wenige sehen Deine Datei.

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

ersetze mal
End(x1Up)

durch
End(xlUp)

Also statt 1 ein kleines L.

Gruß

M.O.
0 Punkte
Beantwortet 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
Beantwortet von m-o Profi (22.8k 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
Beantwortet 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.
...