Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
816to820
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
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mappen zusammenfügen, Spalte in Zeile konvertieren

Mappen zusammenfügen, Spalte in Zeile konvertieren
06.11.2006 19:21:42
Frank
Guten Tag an alle vertretenen Spezialisten,
ich habe derzeit mehrere Probleme mit Excel:
Ich verfüge über einen Datenpool (Adressen mit Zusatzinfos) von etwa 12.000 Stück. Leider ist jede dieser Adressdatensätze in einer eigenen Excelmappe, und alle Infos befinden sich in Spalten, nicht in Zeilen.
Also:
Name: Hotel XYZ
Straße: Feldweg
Nr. : 5
Postleitzahl:12345
etc.
Diese Datensätze müßen in eine Sql Datenbank übertragen werden.
Der Auftragnehmer, der uns auch ein Portal bauen soll und uns die Datenbank verknüpfen soll hat mir gesagt, er könne mit den Daten in der jetzigen Form nichts anfangen.
Es müsse alles aus dem Spaltenformat in eine Zeile umgestrickt werden und darüber hinaus die einzelnen Mappen zusammengefügt werden.
Jetzt stehe ich etwas belämmert daher und suche verzweifelt einen Weg, wie ich dieses bewerkstelligen kann.
Weiß jemand einen Weg, diese beiden Aufgaben möglichst effizient zu erledigen.
Gibt es die Möglichkeit entsprechende Makros zu programmieren?
Viele Grüße, Frank

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mappen zusammenfügen, Spalte in Zeile konvertieren
06.11.2006 20:27:46
Stefan
Hallo Frank,
Zusatzfragen: sind die Daten alle im selben Datei-Ordner, hat jede Mappe nur einen Datensatz, sind die Datensaetze immer im ersten Blatt der Mappe?
Schoene Gruesse
Stefan
AW: Mappen zusammenfügen, Spalte in Zeile konvertieren
06.11.2006 20:37:01
Frank
Hallo Stefan,
Zusatzfragen: sind die Daten alle im selben Datei-Ordner, JA
hat jede Mappe nur einen Datensatz, JA
sind die Datensaetze immer im ersten Blatt der Mappe? JA
Gruß,
Frank
AW: Mappen zusammenfügen, Spalte in Zeile konvertieren
06.11.2006 21:48:30
Stefan
Hallo Frank,
Der folgende Code sollte unter der folgenden Voraussetzungen funktionieren, dass in Spalte A in jeder Zeile die zukuenftige Spaltenueberschrift und die eigentlichen Daten durch einen Doppelpunkt und eine Leerstelle voneinander getrennt stehen.
Das sollte bis jetzt bis 15000 Dateien funktionieren, starte aber erst mal mit einem Verzeichnis, in das du nur 100 oder so reinkopierst, damit du auch abschaetzen kannst, wielange es denn etwa dauern wird fuer alle 12000.
Du musst nur noch den Pfad in strPfad anpassen, ansonsten laeuft das hoffentlich.

Sub Dateien_einlesen()
Dim strPfad As String
Dim tempWb As Workbook
Dim getlastline As Integer
Dim header As String
Dim rowValue As String
Dim doppelpunkt As Integer
Dim z As Integer
Dim arrFile(15000) As String
Dim myRange As Worksheet
strPfad = "C:\Test\" 'Auf eigenen Pfad anpassen
i = -1
strTemp = Dir(strPfad & "*.xls")
Do
i = i + 1
arrFile(i) = strTemp
strTemp = Dir
Loop Until strTemp = ""
MsgBox i + 1 & " Excel-Dateien gefunden!"
Application.ScreenUpdating = False
For j = 0 To i
Set tempWb = Workbooks.Open(strPfad & arrFile(j))
getlastline = tempWb.Sheets(1).Range("A65536").End(xlUp).Row
For k = 1 To getlastline
doppelpunkt = InStr(1, tempWb.Sheets(1).Range("A" & k), ":", vbTextCompare)
header = Left(tempWb.Sheets(1).Range("A" & k), doppelpunkt - 1)
z = 1
bolHeaderFound = False
Do
If ThisWorkbook.Sheets(1).Cells(1, z) = "" Then ThisWorkbook.Sheets(1).Cells(1, z) = header
If ThisWorkbook.Sheets(1).Cells(1, z) = header Then
ThisWorkbook.Sheets(1).Cells(j + 2, z) = Right(tempWb.Sheets(1).Range("A" & k), Len(tempWb.Sheets(1).Range("A" & k)) - doppelpunkt)
bolHeaderFound = True
End If
z = z + 1
Loop Until bolHeaderFound
Next
tempWb.Close
Next
Application.ScreenUpdating = True
End Sub

Sag Bescheid wenns nix wird!
Schoene Gruesse
Stefan
Anzeige
AW: Mappen zusammenfügen, Spalte in Zeile konvertieren
07.11.2006 00:11:12
Stefan
Noch schnell zur Wirkungsweise:
Das Makro, in eine leere Arbeitsmappe kopiert, durchsucht ein Verzeichnis nach allen vorkommenden Exceldateien, oeffnet diese, und kopiert den Inhalt dann in die neue Mappe. Dabei werden selbststaendig die Spalten nach den Zeilenkoepfen der Ursprungstabelle benannt.
Also pass bitte auf das in dem Verzeichnis nur deine Ursprungsdateien stehen, sonst koennte das Ding explodieren...
Schoene Gruesse
Stefan
AW: Mappen zusammenfügen, Spalte in Zeile konvertieren
08.11.2006 13:20:39
Frank
Hallo Stefan,
so ganz läuft es noch nicht.
Allerdings liegt es zumindest teilweise schon einmal daran, dass die zukünftigen Spaltenüberschriften derzeit noch nicht in der jetzigen Spalte A stehen, sondern davor noch drei andere Spalten, die ich wohl erst noch alle löschen werde. Die eigentlichen Daten stehen derzeit in der Spalte die dann B sein wird. Also nochmal: Wenn ich die Mappen bereinigt habe, werden in Spalte A die späteren Spaltenüberschriften stehen, in Spalte B die eigentlichen Daten und in Spalte C zum Teil auch noch zusätzliche Infos.
Evtl. kann ich Dir einfach mal einen Satz zuschicken und Du siehst dann, wie es aussieht.
Schick mir doch einfach mal Deine Mail-adresse an : mufit@directbox.com , ich melde mich dann.
Gruß,
Frank
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige