hat einer von euch eine Idee, wie ich Daten aus Excel in eine Vorlage automatisiert einfügen kann?
Es handelt sich um folgendes:
Ich möchte die im Anhang befindlichen Daten aus einer Exceldatei in folgende Vorlage automatisiert hinterlegen (die Vorlage liegt z.B. in einem separaten Sheet in A1):
Name = "Name aus Exceldatei" Vorname = "Vorname aus Exceldatei" Straße = "Straße aus Exceldatei" PLZ = "PLZ aus Exceldatei" Ort = "Ort aus Exceldatei"
Grundsätzlich kein Problem. Aber da es sich um eine Vielzahl an Daten handelt und ich über runterkopieren nie die den nächsten Datensatz aus der Exceldatei erhalte weiß ich nicht, wie ich alle Daten automatisiert zwischen die "" eintragen soll.
Mir gelingt es leider nicht aus deinen bisherigen Vorgaben zu erkennen was du wie möchtest. Evtl. anders erläutern oder hoffen dass es einen anderer versteht.
Gruß Elex
Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:1 Nutzer sagt Danke an Elex für diesen Beitrag 28 • football
14.12.2020, 13:12 (Dieser Beitrag wurde zuletzt bearbeitet: 14.12.2020, 13:14 von football.)
Ja, das ist richtig. Name, Vorname soll so bestehen bleiben und davor bleiben. Nur der Wert in den "" soll aus der Excel entnommen werden. Und pro Datensatz aus der Excel soll eine neue Vorlage mit den Daten erstellt werden. Alle Vorlagen können gerne untereinander stehen. Dazu soll unter jeder Vorlage, bevor die neue anfängt, break; stehen.
Ich habe aber noch eine Ergebnisstabelle angehängt
Das es eine VBA Lösung wird hattest du hoffentlich schon erwartet. Blatt mit dem Namen "Tabelle1" hatte die Daten. Im Blatt "Tabelle2" wird das Wunschergebnis dann erscheinen.
Code:
Public Sub Vorlage() Dim TabWert, j As Long, s As Long, jj As Long
TabWert = Sheets("Tabelle1").Range("A1").CurrentRegion s = UBound(TabWert, 2)
For j = 2 To Sheets("Tabelle1").Range("A1").CurrentRegion.Rows.Count For jj = 1 To s TabWert(j, jj) = TabWert(1, jj) & " = """ & TabWert(j, jj) & """" Next jj Next j
For j = 2 To Sheets("Tabelle1").Range("A1").CurrentRegion.Rows.Count Sheets("Tabelle2").Cells((j - 2) * (s + 1) + 1, 1).Resize(s) = Application.Transpose(Application.Index(TabWert, j, 0)) Next j
jj = Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1 Sheets("Tabelle2").Range("A1:A" & jj).SpecialCells(xlCellTypeBlanks) = "break;" Sheets("Tabelle2").Range("A" & jj) = "break;" End Sub
Gruß Elex
Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:1 Nutzer sagt Danke an Elex für diesen Beitrag 28 • football