4.9k Aufrufe
Gefragt in Tabellenkalkulation von wimaxe Mitglied (119 Punkte)
Hallo an alle, brauche mal wieder eure Hilfe!

hier mal meine Muster Tabelle: Datei

1. Bei einem Klick auf Button „in Zahlungen übernehmen“
im Worksheet „Eingaben“ sollen Zellen nach Worksheet „Zahlungen“ fortlaufend übernommen werden:

B2 und B3 übernommen nach A2
B7 übernommen nach B2
B8 übernommen nach C2
B25 übernommen nach D2
I21 übernommen nach E2
I19 übernommen nach F2
I22 übernommen nach G2
B24 übernommen nach H2
I22 übernommen nach I2
I23 übernommen nach P2

2. Bei einem Klick auf Button „Zahlungen erfassen“ möchte ich die Daten im Worksheet „Zahlungen“ mit dem Userform „UserformZahlung“ bearbeiten und ergänzen

Gruß
wimaxe

15 Antworten

0 Punkte
Beantwortet von wimaxe Mitglied (119 Punkte)
Ich habe den Code wie unten eingetragen, der Code trägt mir aber nichts in
Row 11 und 13 und 15
alles andere geht

Private Sub CommandButton1_Click()
lngRow = Name1.List(Name1.ListIndex, 1)

Sheets("Zahlungen").Cells(lngRow, 2) = CDate(CheckIn.Value)
Sheets("Zahlungen").Cells(lngRow, 3) = CDate(CheckOut.Value)
Sheets("Zahlungen").Cells(lngRow, 4) = CDbl(AnzahlungSoll.Value)
Sheets("Zahlungen").Cells(lngRow, 5) = CDate(AnzamDatum.Value)
Sheets("Zahlungen").Cells(lngRow, 6) = CDbl(RestbetragSoll.Value)
Sheets("Zahlungen").Cells(lngRow, 7) = CDate(RestamDat.Value)
Sheets("Zahlungen").Cells(lngRow, 8) = CDbl(KautionSoll.Value)
Sheets("Zahlungen").Cells(lngRow, 9) = CDate(KautionAmDat.Value)

If AnzahlungErhalten <> "" And IsNumeric(AnzahlungErhalten) Then
Sheets("Zahlungen").Cells(lngRow, 10) = CDbl(AnzahlungErhalten.Value)
Else
Sheets("Zahlungen").Cells(lngRow, 10) = ""
End If
If AnzErhAm <> "" And IsDate(AnzErhAm) Then
Sheets("Zahlungen").Cells(lngRow, 11) = CDate(AnzErhAm.Value)
Else
Sheets("Zahlungen").Cells(lngRow, 11) = ""
End If
If RestErh <> "" And IsNumeric(RestErh) Then
Sheets("Zahlungen").Cells(lngRow, 12) = CDbl(RestErh.Value)
Else
Sheets("Zahlungen").Cells(lngRow, 12) = ""
End If
If RestErhAm <> "" And IsDate(RestErhAm) Then
Sheets("Zahlungen").Cells(lngRow, 13) = CDate(RestErhAm.Value)
Else
Sheets("Zahlungen").Cells(lngRow, 13) = ""
End If
If KautionErh <> "" And IsNumeric(KautionErh) Then
Sheets("Zahlungen").Cells(lngRow, 14) = CDbl(KautionErh.Value)
Else
Sheets("Zahlungen").Cells(lngRow, 14) = ""
End If
If KautionErhAm <> "" And IsDate(KautionErhAm) Then
Sheets("Zahlungen").Cells(lngRow, 15) = CDate(KautionErhAm.Value)
Else
Sheets("Zahlungen").Cells(lngRow, 15) = ""
End If

Sheets("Zahlungen").Cells(lngRow, 16) = CDate(KautionRAm.Value)

End Sub

Gruß
wimaxe
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo wimaxe,

wieso Row 11, 13 und 15? Die Daten werden doch in die Spalten (Column) 11, 13 und 15 des jeweilig aufgerufenen Termins eingetragen? Row ist die Bezeichnung für Zeile. Meinst DU nun Zeile oder Spalte?

Lade bitte mal Deine Datei hoch, bei der es nicht funktioniert, denn sonst wird es schwer Dir weiterzuhelfen.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von wimaxe Mitglied (119 Punkte)
Entschultige ich meine Spalten

Hier meine Test Datei: Datei

Danke für die Hilfe
Gruß
wimaxe
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo wimaxe,

kontrolliere mal Deine Namen für die TextBoxen mit den Namen, die Du in dem Button_Click()-Ereignis verwandt hast. Die TextBox für Spalte 11 heißt in der USerForm "AnzErhAmDat". Im VBA-Code gibt es diese Bezeichnung nicht, sondern dort steht für die TextBox die Bezeichnung "AnzErhAm".

Das muss schon alle genau stimmen, ansonsten können die Werte nicht übertragen werden.



MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von wimaxe Mitglied (119 Punkte)
OK, danke das war der Fehler.
Danke nochmals, Du hast mir sehr geholfen!
Gruß
wimaxe
...