1.2k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich müsste eine Liste über sämtliche Firmen einer Branche erstellen. Dazu habe ich von einer Website, die Firmen auflistet, die Daten rauskopiert und in ein Excel-Sheet eingefügt.
Das Ziel ist, dass ich am Ende eine Tablle habe mit drei Spalten: Name der Firma, Adresse, Telefonnummer.
In diesen drei Spalten sollen sämtliche Firmen aufgeführt sein.
Das Problem ist nun, dass ich alle Daten in einer Zeile habe: Es folgen nacheinander in den Spalten Firma1 (A1), Adresse1 (B1), Telefonnummer1 (C1),Firma2 (D1), Adresse2 (E1), Telefonnummer2 (E1),...
Ich möchte, dass immer drei Spalten der ersten Zeile kopiert werden und dann in einem neuen Sheet untereinander eingefügt werden. Das ganze würde in einer Schleife mit VBA funktionieren, aber mir fehlen dazu die erforderlichen Kenntnisse.
Kann mir jemand bei dieser Frage weiterhelfen?
Vielen Dank im vorraus.

3 Antworten

0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

Sub Kopieren()
Dim inSpalte As Integer
Dim inZeile As Integer
inZeile = 1
For inSpalte = 1 To IIf(IsEmpty(Cells(1, Columns.Count)), Cells(1, Columns.Count).End(xlToLeft).Column, Columns.Count) Step 3
Range(Cells(1, inSpalte), Cells(1, inSpalte + 2)).Copy Worksheets("Tabelle2").Cells(inZeile, 1)
inZeile = inZeile + 1
Next inSpalte
End Sub


Bis später,
Karin
0 Punkte
Beantwortet von
Hallo demand1!

Schreibe in Zelle B1 die Formel

=INDIREKT("Z1S" & (ZEILE() - 1) * 3 + SPALTE(); FALSCH)

und kopiere (ziehe) die Zelle B1 bis B3,
kopiere danach die Zellen B1:B3 soweit nach unten wie nötig!

MfG Charlotte
0 Punkte
Beantwortet von
Sorry,

kleiner Fehler: schreib die Formel (wie oben)

=INDIREKT("Z1S" & (ZEILE() - 1) * 3 + SPALTE(); FALSCH)

in die Zelle A2, nicht in B1! Da steht ja schon was. Kopiere A2 bis C2 und danach A2:C2 so weit runter wie nötig.

MfG Charlotte
...