Anzeige
Archiv - Navigation
1860to1864
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

Tabellenblätter erstellen mit Daten

Tabellenblätter erstellen mit Daten
04.01.2022 11:02:50
Blackforest
Hallo zusammen,
ich komm einfach nicht weiter
Hab hier die Excel Datei - Arbeitsblätter - mit einem Arbeitsblatt Kunden und einem Arbeitsblatt Kundendaten.
https://www.herber.de/bbs/user/150132.xlsm
Aus dem Arbeitsblatt Kunden hätte ich gerne einzelne Arbeitsblätter automatisch angelegt mit den enstprechenden Kunden Daten die zu diesem Kunden im Arbeitsblatt Kundendaten hinterlegt sind.
Im Beispiel sind nur wenige Daten hinterlegt. Insgesamt sind es sehr umfangreiche Daten.
Hoffe das jemand mir hier weiterhelfen oder Tipps zur Lösung geben kann.
Vielen Dank im Voraus
Blackforest Timber

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter erstellen mit Daten
04.01.2022 11:08:19
Oberschlumpf
Hi,
sieht es in deiner Originaldatei genau so aus?
Also...
...befinden sich in Tabelle "Kunden" in Spalte A auch die Kundennummern, gefolgt von - zwei - Leerzeichen und dann gefolgt vom Kundennamen?
Und wie genau sollen die neuen Kundentabellenblätter heißen?
Tabelleblattname von Kunde ACH = ACH, oder 124372 ACH, oder nur 124372 ?
Danke für die Antwort all meiner Fragen.
Ciao
Thorsten
AW: Tabellenblätter erstellen mit Daten
04.01.2022 11:17:44
Blackforest
Hallo Torsten,
die Kundennamen sehen so aus - mit zwei Leerzeichen - auch die Tabellenblätter sollten genau so aussehen.
auch das Tabellenblatt sollte dann so benannt werden. - 124372 ACH
Und die Daten zu diesem Kunden ACH im Tabellenblatt 124372 ACH drin stehen.
Grüße und vielen Dank
Blackforest Timber
Anzeige
AW: Tabellenblätter erstellen mit Daten
04.01.2022 12:17:55
Oberschlumpf
Hi,
versuch mal:
https://www.herber.de/bbs/user/150137.xlsm
Das Makro, das du starten musst, heißt sbCreateCustomerTables
Es ist egal, welches Tabellenblatt zum Zeitpunkt der Makro-Ausführung gerade aktiv ist.
Das Makro...
...durchläuft alle Datenzeilen, beginnend in Zeile 2, in der Tabelle Kunden
...zuerst wird der jeweilige Eintrag in Spalte A in zwei einzelne Werte, Kd-Nummer + Kd-Name aufgeteilt
...jetzt startet ein weiterer Durchlauf aller Datenzeilen in Tabelle Kundendaten
...hier wird geprüft, ob Eintrag in Spalte B mit Wert Kd-Nummer UND Eintrag in Spalte A mit Kd-Name übereinstimmt (unter Berücksichtigung, dass alle überflüssigen Leerzeichen ignoriert werden)
...wenn Übereinstimmung gefunden...
......wird für jeden Kunden 1x ein neues Tabellenblatt hinzugefügt
......das neue Tabellenblatt erhält als Namen denselben Eintrag wie aus Tabelle Kunden
......alle gefundenen Datensätze werden in das jeweilige neue Tabellenblatt eingetragen - es geht weiter mit dem nächsten Kunden
Mir ist aufgefallen, dass deine Tabelle Kunden über 160 genutzte Zeilen enthält, obwohl in Spalte A ab Zeile 15 kein Eintrag mehr vorhanden ist.
Das wird in meinem Code zwar berücksichtigt, besser wäre aber, wenn du im Original alle leeren Zeilen wirklich löschst = die ganzen Zeilen, nicht nur die Inhalte.
Hilfts?
Ciao
Thorsten
Anzeige
AW: Tabellenblätter erstellen mit Daten
04.01.2022 13:57:37
Blackforest
Hallo Torsten ,
auch dir meinen besten Dank - funktioniert einwandfrei.
Genial gelöst mit den 2 Durchläufen und der Kontrolle.
Das mit den leeren Zellen werde ich beachten. wollte einfach nicht so viele Daten durchschieben.
Danke und Gruss
Blackforest Timber
wozu soll das gut sein?
04.01.2022 11:26:55
Rudi
Hallo,
konvertiere deine Tabelle Kundendaten in eine 'richtige' Tabelle und füge einen Datenschnitt für Kundennummer und/ oder Namen ein.
Gruß
Rudi
AW: wozu soll das gut sein?
04.01.2022 11:42:46
Blackforest
hallo Rudi ,
haste ja recht - normalerweise würde ich das auch mit Datenschnitt und oder Pivot Tabelle lösen.
nur ich hab das Problem das ich die Tabellenblätter dann weiterbearbeiten muss und dann einzeln weitergebe.
Gruss
Blackforest Timber
Anzeige
AW: Tabellenblätter erstellen mit Daten
04.01.2022 12:20:20
Rudi
teste mal:

Sub CreateSheets()
Dim strBlatt As String
Dim rngKunden As Range
Dim arrDaten, arrBlatt()
Dim lngKdNr As Long
Dim i As Long, j As Long, n As Long
Dim wksKunde As Worksheet, wksKdDaten As Worksheet
Set wksKdDaten = Sheets("Kundendaten")
arrDaten = wksKdDaten.Cells(1, 1).CurrentRegion
With Sheets("kunden")
For Each rngKunden In .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp))
n = 1
lngKdNr = Split(rngKunden)(0)
strBlatt = rngKunden
ReDim arrBlatt(1 To WorksheetFunction.CountIf(wksKdDaten.Columns(2), lngKdNr) + 1, 1 To UBound(arrDaten, 2))
For j = 1 To UBound(arrDaten, 2)
arrBlatt(1, j) = arrDaten(1, j)
Next
For i = 2 To UBound(arrDaten)
If arrDaten(i, 2) = lngKdNr Then
n = n + 1
For j = 1 To UBound(arrDaten, 2)
arrBlatt(n, j) = arrDaten(i, j)
Next j
End If
Next i
On Error Resume Next
Set wksKunde = Sheets(strBlatt)
On Error GoTo 0
If wksKunde Is Nothing Then
Set wksKunde = Worksheets.Add
wksKunde.Name = strBlatt
Else
wksKunde.Cells.Clear
End If
wksKunde.Cells(1, 1).Resize(UBound(arrBlatt), UBound(arrBlatt, 2)) = arrBlatt
wksKunde.Columns.AutoFit
Set wksKunde = Nothing
Next rngKunden
End With
End Sub
Gruß
Rudi
Anzeige
AW: Tabellenblätter erstellen mit Daten
04.01.2022 13:36:31
Blackforest
Hallo Rudi,
perfekt - perfekt - funktioniert tadellos - vielen herzlichen Dank für die schnelle Hilfe.
bis zum nächsten Mal !
Gruss und noch einen schönen Tag
Blackforest timber

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige