Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1564to1568
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
Inhaltsverzeichnis

VBA: Gesamtliste erstellen und Einträge kopieren

VBA: Gesamtliste erstellen und Einträge kopieren
14.06.2017 10:18:04
Hebert
Hallo zusammen,
ich bin neu hier und hoffe, dass ihr mir vielleicht helfen könnt, was mich sehr freuen würde.
Zu meinem "Problem": Ich habe zwei Listen. Die eine beinhaltet Lieferanten, die andere Produkte. Ich möchte nun in einer Gesamtliste jedem Lieferanten alle Produkte einmal zuweisen. Beispiel:
Lieferant: Produkt:
A 1
B 2
C 3
Soll eine Gesamtliste entstehen, die folgendermaßen aussieht:
A 1
A 2
A 3
B 1
B 2
B 3
usw.
Ist dieses technisch umsetzbar? Zur Info: Die beiden Listen (Lief./Prod.) müssen nicht getrennt sein und können auch in einer Arbeitsmappe liegen. Die Range der Lieferanten und Produkte ist immer gleichbleibend.
Wenn noch mehr Infos benötigt werden, bitte fragen.
Vielen Dank und beste Grüße,
Herbert

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Gesamtliste erstellen und Einträge kopieren
14.06.2017 10:57:42
yummi
Hallo Herbert,
ja ist möglich

Option Explicit
Function BestimmeLetzteZeile(ByVal wks As Worksheet, ByVal s As Integer) As Long
BestimmeLetzteZeile = wks.Cells(wks.Rows.Count, s).End(xlUp).Row
End Function
Sub ErstelleListe()
Dim i, j As Long
Dim lastL, lastP As Long
Dim zeile As Long
Dim Spalte As Integer
Dim SpalteLieferant As Integer
Dim SpalteProdukt As Integer
Dim SpalteGes As Integer
SpalteLieferant = 1  ' Anpassen
SpalteProdukt = 2    ' Anpassen
SpalteGes = 8        ' Anpassen
zeile = 2            ' Anpassen
lastL = BestimmeLetzteZeile(ActiveSheet, SpalteLieferant)
lastP = BestimmeLetzteZeile(ActiveSheet, SpalteProdukt)
For i = 2 To lastL
For j = 2 To lastP
With ActiveSheet
.Cells(zeile, SpalteGes).Value = .Cells(i, SpalteLieferant).Value
.Cells(zeile, SpalteGes + 1).Value = .Cells(j, SpalteProdukt).Value
zeile = zeile + 1
End With
Next j
Next i
End Sub
Gruß
yummi
Anzeige
AW: VBA: Gesamtliste erstellen und Einträge kopieren
14.06.2017 10:58:05
Peter
Hallo Herbert,
Wenn die Liste der Lieferanten in Tabelle1 Spalte A ist, sowie die Liste der Produckte in der Tabelle2 in der Spalte A. Wird in der Tabelle3 die Gesamtliste erzeugt.
Sub zuordnung()
Dim e As Object, i As Integer
For Each e In Sheets("Tabelle1").Range("A2:A" & Sheets("Tabelle1").Cells(Rows.Count, 1).End( _
xlUp).Row)                                    'hier ist die Liste der Lieferanten
For i = 2 To Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row                           _
'hier die Liste der Artikel
Sheets("Tabelle3").Cells(Sheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row + 1, 1). _
Value = e.Value                            'hier wird der Lieferantenname in die neue Liste geschrieben
Sheets("Tabelle3").Cells(Sheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row, 2). _
Value = Sheets("Tabelle2").Cells(i, 1).Value   'hier wird der Artikel in die neue Liste eingetragen
Next i
Next e
End Sub
Ich hoffe Du kommst damit klar.
Gruß
Peter (hpo)
Anzeige
AW: VBA: Gesamtliste erstellen und Einträge kopieren
14.06.2017 12:45:47
Hebert
Mensch, ihr seid aber schnell hier, klasse! Ich probiere es gleich mal aus, vielen Dank!
AW: VBA: Gesamtliste erstellen und Einträge kopieren
14.06.2017 14:13:49
Hebert
Hallo Peter,
das klappt schon mal super, vielen Dank. Eine Frage habe ich noch, was ich leider in meiner Anfrage vergessen habe. Wie erweitere ich die Range, die ich aus der Produktliste in die Gesamtliste übertragen möchte? Meine Produktliste hat 8 Spalten, sprich A:H, die übertragen werden soll.
Sprich: Name, Beschreibung, Stück, etc.
Ich habe jetzt ein wenig herumprobiert, bin aber leider nicht zum gewünschten Ergebnis gekommen.
Danke!
VG,
Herbert
AW: VBA: Gesamtliste erstellen und Einträge kopieren
14.06.2017 15:00:48
Peter
Hallo Herbert,
Soll die Gesamt Liste so aussehen:
SpA = Lieferantenname
SpB = Produckname
SpC = Producktbeschreibung
SpD = Stück
Dann ersetze die For Schleife so:
For i = 2 To Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row 'hier die Liste der Artikel
With Sheets("Tabelle3")
.Cells(Sheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Value = e.Value 'hier wird der Lieferantenname in die neue Liste geschrieben
.Cells(Sheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row, 2).Value = Sheets("Tabelle2").Cells(i, 1).Value 'hier wird der Artikel in die neue Liste eingetragen (Artikel SpalteA)
.Cells(Sheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row, 3).Value = Sheets("Tabelle2").Cells(i, 2).Value 'hier wird die Artikelbeschreibung eingetragen (Artikel SpalteB)
.Cells(Sheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row, 4).Value = Sheets("Tabelle2").Cells(i, 3).Value 'hier wird die Stückzahl eingetragen (Artikel SpalteC)
.Cells(Sheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row, 5).Value = Sheets("Tabelle2").Cells(i, 4).Value 'hier Artikel SpalteD
.Cells(Sheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row, 6).Value = Sheets("Tabelle2").Cells(i, 5).Value 'hier Artikel SpalteE
.Cells(Sheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row, 7).Value = Sheets("Tabelle2").Cells(i, 6).Value 'hier Artikel SpalteF
.Cells(Sheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row, 8).Value = Sheets("Tabelle2").Cells(i, 7).Value 'hier Artikel SpalteG
.Cells(Sheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row, 9).Value = Sheets("Tabelle2").Cells(i, 8).Value 'hier Artikel SpalteH
End With
Next i
Ich hoffe Du kommst damit klar.
Viele Grüße
Peter (hpo)
Anzeige
AW: VBA: Gesamtliste erstellen und Einträge kopieren
14.06.2017 15:31:28
Hebert
1000 Dank, Peter! Funktioniert einwandfrei!
VG,
Herbert

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige