Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
836to840
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
836to840
836to840
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten speichern

Daten speichern
16.01.2007 11:35:47
Michael
Hallo Excel-User,
ich habe drei Tabellenblätter: Eingabe,Kundenliste und Archiv.
In dem Eingabenblatt habe ich ein Listenfeld (Steuerelement-Toolbox) der Kunden sich beziehend auf die Kundenliste. Angezeigt und als Wert ausgegeben wird der Kundenname (Zelle K9), den ich als festen Text im Archiv über einen Speicherbutton abspeichere. Die zusätzlichen Daten, wie Str., Plz, Ort lasse ich nur mit einer Sverweis Funktion anzeigen.
Mein Problem ist nun, dass ich im Archivblatt die obigen Daten abspeichern müßte. Wie kann ich über den Namen die komplette Adresse abspeichern.
Kundenliste: Spalte A - Kundenname, Spalte B - Kundennummer, Spalte C - Straße, Spalte D - Plz, Spalte E - Ort, Spalte F - Tel.
Archiv: Spalte D - Kundennummer, Spalte E - Kundenname, Spalte F - Straße, Spalte G - Plz, Spalte H - Ort und Spalte I - Tel.
Vielen Dank im Voraus
Michael

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten speichern
16.01.2007 22:17:52
fcs
Hallo Michael,
wenn du mit dem Speichern-Button den Kundennamen aus dem Eingabeblatt in das Archiv-Blatt speichers, dann kannst du die restlichen Werte gleich mit im Archiv eintragen. Das Makro ermittelt dann per SVERWEIS (VLookup) die anderen Werte aus der Kundenliste. Schaut dann etwa so aus:

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
'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

Gruss
Franz
Anzeige
AW: Daten speichern
19.01.2007 09:14:27
Michael
Hallo Franz,
vielen Dank für das Makro, aber leider habe ich zwei Probleme.
1. Ich bekomme es nicht hin, dass auch mein Ausgabedatum (B18)und das Leihgerät (K10) mit abgespeichert werden. Vielleicht könntest du diese beiden Sachen noch mit einbauen.
2. Zum anderen werden mir die Daten immer nur in eine Zeile eingetragen und nicht fortlaufend untereinander.
Vielleicht kannst Du mir noch ein paar Tipps geben, auf die ich achten muß.
Vielen Dank im Voraus
Michael
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
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige