AW: Daten speichern
21.01.2007 03:25:02
fcs
Hallo Michael,
zu 1.) ich hab im Code 2 Zeilen ergänzt, die die Werte aus den Zellen im Eingabeblatt holen. Du muss noch die Spalte anpassen in die Datum bzw. Leihgerät im Archivblatt eingetragen werden sollen
Private Sub CommandButton1_Click()
Dim wksEin As Worksheet, wksArchiv As Worksheet, wksKunden As Worksheet, rngKunden As Range
Dim ZeileArchiv As Long, Kundnename As String
Set wksEin = Worksheets("Eingabe")
Set wksArchiv = Worksheets("Archiv")
Set wksKunden = Worksheets("Kundenliste")
With wksKunden
'Bereich mit den Daten in der Kundenliste
Set rngKunden = .Range(.Cells(2, 1), .Cells(.Cells(.Rows.Count, "A").End(xlUp).Row, "G"))
End With
'Nächste Zeile für Eintrag Kundennummer
ZeileArchiv = wksArchiv.Cells(wksArchiv.Rows.Count, "E").End(xlUp).Row + 1
Kundenname = wksEin.Range("K9").Value
wksArchiv.Cells(ZeileArchiv, "E").Value = Kundenname
wksArchiv.Cells(ZeileArchiv, "A").Value = wksEin.Range("B18") 'Datum
wksArchiv.Cells(ZeileArchiv, "C").Value = wksEin.Range("K10") 'Leihgerät
'Restliche Daten per SVERWEIS-Funktion (VLookup) in Archiv eintragen
With Application.WorksheetFunction
wksArchiv.Cells(ZeileArchiv, "D").Value = .VLookup(Kundenname, rngKunden, 2, False) 'Kundennummer
wksArchiv.Cells(ZeileArchiv, "F").Value = .VLookup(Kundenname, rngKunden, 3, False) 'Strasse
wksArchiv.Cells(ZeileArchiv, "G").NumberFormat = "@" 'Textformat für PLZ mit führender Null
wksArchiv.Cells(ZeileArchiv, "G").Value = .VLookup(Kundenname, rngKunden, 4, False) 'PLZ
wksArchiv.Cells(ZeileArchiv, "H").Value = .VLookup(Kundenname, rngKunden, 5, False) 'Ort
wksArchiv.Cells(ZeileArchiv, "I").Value = .VLookup(Kundenname, rngKunden, 6, False) 'Tel
End With
End Sub
Zu 2.): keine Ahnung warum die Einträge immer in die gleiche Zeile Eingetragen werden. Das Makro ermittelt die nächste Zeile indem es in Spalte E des Archivblatts die letzte Zeile mit einem Eintrag (Kundenname) sucht.
Hier eine Beispieldatei: https://www.herber.de/bbs/user/39820.xls
Gruss
Franz