Supportnet / Forum / Tabellenkalkulation
Spalten untereinander einfügen
Frage
Hallo,
ich brauch Eure Hilfe!!!!
Ich hab eine Tabelle erstellt mit fahrzeugdaten. In den Überschriften steht dann sowas wie Hersteller, Typ, Motor, Getriebe, usw.. Jetzt möchte ich in einer neuen Datei die Daten übernehmen, aber nicht mehr die überschriften neben einander sonder jetzt untereinander. Das untereinander Einfügen der Daten bekomme ich hin. Jetzt meine Frage, da die Datei sehr groß ist, ist das ein großer aufwand jede Zeile einzeln z makieren und einzufügen. Ist es möglich das ich alle aus der alten Datei makiere, kopiere und einfüge das in der neuen Datei alles untereinander steht??
Beispiel:
alte Tabelle:
Hersteller Typ Motor Gertiebe Kraftstoff
Audi A4 2,5 TDI Autom. Diesel
VW Golf 1,9 Manuell Benzin
Ford Mondeo 1,8 Manuell Benzin
neue Tabelle:
Herrsteller: Audi
Typ: A4
Motor: 2,5 TDI
Getriebe Autom.
Kraftstoff Diesel
Hersteller VW
Typ Golf
Motor 1,9
Getriebe Manuell
Kraftstoff Benzin
Hersteller Ford
Typ Mondeo
Motor 1,8
Getriebe Manuell
Kraftstoff Benzin
Gruß
Elhamplo
Antwort 1 von coros
Hi Elhamplo,
ich wage mal einen Versuch. Bevor Du aber das nachfolgende Makro testest, mache bitte erste eine Kopie Deiner Originaldatei.
Kopiere das Makro in ein StandardModul und starte es über eine Befehlsschaltfläche.
In diesem Makro wird davon ausgegangen, dass in Zeile 1 die Überschriften wie Hersteller, Typ, Modell usw. und ab Zeile 2 die Autodaten stehen. Das Makro macht folgendes: Es kopiert die Daten aus Spalte 1 und fügt sie in Blatt "Tabelle2" (Blattname muss eventuell angepasst werden) in die erste freie Zeile in Spalte A wieder ein. Danach werden die Autodaten aus der durch die Schleife angesprochenen Zeile kopiert und in Spalte B kopiert. Das ganze so oft, bis die letzte Zeile in dem aktiven Blatt erreicht ist.
Ich hoffe, Du hast das so gemeint. Bei Fragen melde Dich,
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
ich wage mal einen Versuch. Bevor Du aber das nachfolgende Makro testest, mache bitte erste eine Kopie Deiner Originaldatei.
Kopiere das Makro in ein StandardModul und starte es über eine Befehlsschaltfläche.
Option Explicit
Sub Daten_wandeln()
Dim Wiederholungen As Integer, erste_freie_Zeile As Integer
Application.ScreenUpdating = False
For Wiederholungen = 2 To ActiveSheet.UsedRange.Rows.Count
erste_freie_Zeile = Sheets("Tabelle2").Range("A65536").End(xlUp).Offset(1, 0).Row
Rows("1:1").Copy
Sheets("Tabelle2").Cells(erste_freie_Zeile, 1).PasteSpecial Transpose:=True
Rows(Wiederholungen).Copy
Sheets("Tabelle2").Cells(erste_freie_Zeile, 2).PasteSpecial Transpose:=True
Next
End SubIn diesem Makro wird davon ausgegangen, dass in Zeile 1 die Überschriften wie Hersteller, Typ, Modell usw. und ab Zeile 2 die Autodaten stehen. Das Makro macht folgendes: Es kopiert die Daten aus Spalte 1 und fügt sie in Blatt "Tabelle2" (Blattname muss eventuell angepasst werden) in die erste freie Zeile in Spalte A wieder ein. Danach werden die Autodaten aus der durch die Schleife angesprochenen Zeile kopiert und in Spalte B kopiert. Das ganze so oft, bis die letzte Zeile in dem aktiven Blatt erreicht ist.
Ich hoffe, Du hast das so gemeint. Bei Fragen melde Dich,
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Event
Hallo
Gruß
Option Explicit
Sub uebernahme()
Dim i As Double, e%, z As Double, felda(6)
z = 1
For e = 1 To 5
felda(e) = Sheets("Tabelle1").Cells(1, e).Value
Next
For i = 2 To Sheets("Tabelle1").UsedRange.SpecialCells(xlCellTypeLastCell).Row
For e = 1 To 5
Sheets("Tabelle2").Range("A" & CStr(z)).Value = felda(e)
Sheets("Tabelle2").Range("B" & CStr(z)).Value = Sheets("Tabelle1").Cells(i, e).Value
z = z + 1
Next
Next
End Sub
Gruß
Antwort 3 von Elhamplo
Hallo,
Sorry, hatte keine Zeit, konnte mich erst jetzt melden!
@ coros
Super, war genau was ich brauchte!! Funktioniert super!! Hat mir echt sau viel arbeit abgenommen. Ich Danke Dir für die Hilfe.
@ event
Danke für Deine Hilfe!! Dank Dir.
Der Code übernimmt aber nicht alle Spalten? Hab es nicht hinbekommen wie ich das erwitern kann.
@ beide
Nochmals danke für Eure Hilfe!!!!
Ich wünsche Euch einen guten Rutsch ins neue Jahr!!!!!
Gruß
Elhamplo
Sorry, hatte keine Zeit, konnte mich erst jetzt melden!
@ coros
Super, war genau was ich brauchte!! Funktioniert super!! Hat mir echt sau viel arbeit abgenommen. Ich Danke Dir für die Hilfe.
@ event
Danke für Deine Hilfe!! Dank Dir.
Der Code übernimmt aber nicht alle Spalten? Hab es nicht hinbekommen wie ich das erwitern kann.
@ beide
Nochmals danke für Eure Hilfe!!!!
Ich wünsche Euch einen guten Rutsch ins neue Jahr!!!!!
Gruß
Elhamplo
Antwort 4 von coros
Moin Elhamplo,
danke Dir für Deine Rückmeldung. Auch Dir einen guten Rutsch ins neue Jahr.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
danke Dir für Deine Rückmeldung. Auch Dir einen guten Rutsch ins neue Jahr.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.

