Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
856to860
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
856to860
856to860
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Zellen generieren und als Liste transformieren
22.03.2007 22:30:00
Andy
Hallo,
ich bekomme jeden Tag Arbeitsmappen mit unterschiedlich vielen Tabellenblätter.
Jetzt muß ich bestimmte Zellen z.B. B12, B22; B45; B77 usw. in eine neue Tabelle einfügen und als Liste transformieren, und dies für jedes Tabellenblatt.
Frage: Wie kann ich das über VBA automatisieren, das ich in ein neues Tabellenblatt die einzelnen Daten als Liste untereinander gelistet bekomme z.B B12 in A1; B22 in B1.
Jedes Tabellenblatt mit den entsprechenden Zellen in einen neuen Datensatz.
Währe euch sehr dankbar füer eine Hilfe!!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen generieren und als Liste transformieren
23.03.2007 03:16:00
fcs
Hallo Andy,
habe noch ein paar Fragen:
1. Soll das neue Tabellenblatt in der jeweiligen Arbeitsmappe angelegt werden, in der die Daten aus den einzelne Blättern ausgelesen werden sollen? Oder soll die Liste in einer neuen Arbeitsmappe angelegt werden?
2. Sollen die Daten aus mehreren Arbeitsmappen in einer Liste zusammengefasst werden? Oder je Arbeitsmappe ein zusammenfassendes Tabellenblatt?
3. Möchtest du das/die entsprechenden Makros in einer separaten Steuerungsdatei speichern oder in deiner persönlichen Makro Arbeitsmappe?
Separate Steuerungsdatei ist dann sinnvoll, wenn mehrere Personen auf unterschiedlichen Rechnern das Makro verwenden sollen.
Nach Klärung dieser grundsätzlichen Fragen, die die Struktur und erforderlichen Funktionen des Makros stark beeinflussen, kann man den relativ einfachen Transfer der Daten aus den einzelnen Zellen der Tabellen in eine Sammelliste angehen.
Gruß
Franz
Anzeige
AW: Zellen generieren und als Liste transformieren
23.03.2007 17:01:00
Andy
Hallo,
1. Soll das neue Tabellenblatt in der jeweiligen Arbeitsmappe angelegt werden, in der die Daten aus den einzelne Blättern ausgelesen werden sollen? Oder soll die Liste in einer neuen Arbeitsmappe angelegt werden?
Die Arbeitsmappe soll in jeweiligen Arbeitsmappe angelegt werden!
2. Sollen die Daten aus mehreren Arbeitsmappen in einer Liste zusammengefasst werden? Oder je Arbeitsmappe ein zusammenfassendes Tabellenblatt?
Jeweils ein zusammenfassendes Tabellenblatt pro Arbeitsmappe!
3. Möchtest du das/die entsprechenden Makros in einer separaten Steuerungsdatei speichern oder in deiner persönlichen Makro Arbeitsmappe?
Separate Steuerungsdatei ist dann sinnvoll, wenn mehrere Personen auf unterschiedlichen Rechnern das Makro verwenden sollen.
Das Macro soll in die persönliche Arbeitsmappe gespeichert werden!
Würde gerne selber VBA lernen, welche Bücher kannst du mir empfehlen?
Vielen Dank nochmals!
Anzeige
AW: Zellen generieren und als Liste transformieren
23.03.2007 17:03:00
Andy
Hallo,
1. Soll das neue Tabellenblatt in der jeweiligen Arbeitsmappe angelegt werden, in der die Daten aus den einzelne Blättern ausgelesen werden sollen? Oder soll die Liste in einer neuen Arbeitsmappe angelegt werden?
Die Arbeitsmappe soll in jeweiligen Arbeitsmappe angelegt werden!
2. Sollen die Daten aus mehreren Arbeitsmappen in einer Liste zusammengefasst werden? Oder je Arbeitsmappe ein zusammenfassendes Tabellenblatt?
Jeweils ein zusammenfassendes Tabellenblatt pro Arbeitsmappe!
3. Möchtest du das/die entsprechenden Makros in einer separaten Steuerungsdatei speichern oder in deiner persönlichen Makro Arbeitsmappe?
Separate Steuerungsdatei ist dann sinnvoll, wenn mehrere Personen auf unterschiedlichen Rechnern das Makro verwenden sollen.
Das Macro soll in die persönliche Arbeitsmappe gespeichert werden!
Würde gerne selber VBA lernen, welche Bücher kannst du mir empfehlen?
Vielen Dank nochmals!
Anzeige
AW: Zellen generieren und als Liste transformieren
23.03.2007 17:04:00
Andy
Hallo,
1. Soll das neue Tabellenblatt in der jeweiligen Arbeitsmappe angelegt werden, in der die Daten aus den einzelne Blättern ausgelesen werden sollen? Oder soll die Liste in einer neuen Arbeitsmappe angelegt werden?
Die Arbeitsmappe soll in jeweiligen Arbeitsmappe angelegt werden!
2. Sollen die Daten aus mehreren Arbeitsmappen in einer Liste zusammengefasst werden? Oder je Arbeitsmappe ein zusammenfassendes Tabellenblatt?
Jeweils ein zusammenfassendes Tabellenblatt pro Arbeitsmappe!
3. Möchtest du das/die entsprechenden Makros in einer separaten Steuerungsdatei speichern oder in deiner persönlichen Makro Arbeitsmappe?
Separate Steuerungsdatei ist dann sinnvoll, wenn mehrere Personen auf unterschiedlichen Rechnern das Makro verwenden sollen.
Das Macro soll in die persönliche Arbeitsmappe gespeichert werden!
Würde gerne selber VBA lernen, welche Bücher kannst du mir empfehlen?
Vielen Dank nochmals!
Anzeige
AW: Zellen generieren und als Liste transformieren
23.03.2007 21:29:00
fcs
Hallo Andy,
hier das entsprechende Makro für den Transfer der Daten aus den Einzelnen Blättern in die Zusammenfassung. Mit den eingefügten Erläuterungen solltets du die notwendigen Ergänzungen/Erläuterungen machen könne.
Zur Anwendung nach dem Einrichten des Makros in der Persönlichen Makro-Arbeitsmappe einfach die zu bearbeitende Datei öffnen und das Makro starten.
Literatur zu VBA:
Da ich sehr viel mit "Learning by doing", suchen in diesem und anderen Foren und intensiver Nutzung der Excel-Hilfe arbeite kann ich dir nur bedingt Literatur empfehlen.
Als preiswerte Zusatzinfo für 4.40€ habe ich mir mal "VBA mit Excel .. für Versionen 200-2003" vom KnowWare-Verlag in einer Bahnhofbuchhandlung besorgt. Infos siehe http://www.knowware.de/?cat=1.2&book=excelvba
Ein 70-Seiten Heft, das viele grundlegende Problemstellungen und Programmiertechniken unter VBA beschreibt mit vielen kleinen Code-Beispielen und Erläuterungen. Für VBA-Einsteiger sicherlich hilfreich.
Ansonsten hier mal den Button "Offline-Excel/VBA-Buch" anklicken und weiter zum Wikibooks oder auch die anderen Angebote von Hans W. Herber testen.
Gruß
Franz
Sub AuslesenTabellen()
Dim wb1 As Workbook, wksQuelle As Worksheet, wksZiel As Worksheet
Dim BlattName As String
Dim Zeile As Long, arrQuellZellen, arrZielSpalten, Spalte As Integer
Set wb1 = ActiveWorkbook
BlattName = InputBox("Name des Tabellenblatts mit der zusammengefassten Liste:", _
"Daten zusammenfassen", "Zusammenfassung")
'Prüfen ob Blatt mit diesem Namen bereits existiert
For Each wksQuelle In wb1.Sheets
If wksQuelle.Name = BlattName Then
If MsgBox("Es existiert bereits ein Blatt mit dem Namen '" & BlattName & vbLf & vbLf _
& "Sollen die Daten überschrieben werden?", vbQuestion + vbYesNo, _
"Datenzusammenfassung erstellen") = vbYes Then
Set wksZiel = wksQuelle
wksZiel.Activate
'Inhalte im Vorhandenen Blatt löschen
wksZiel.Cells.Clear
GoTo weiter1
Else
Exit Sub
End If
End If
Next
'Tabellenblatt für Liste vor dem 1. Blatt einfügen
wb1.Worksheets.Add Before:=wb1.Sheets(1)
Set wksZiel = ActiveSheet
wksZiel.Name = BlattName
weiter1:
Zeile = 1 'Zeile mit den Spaltentiteln
'Für weitere Zellen die Arrays in den folgenden Zeilen Anpassen/Ergänzen
'Array der Zellen, die ausgelesen werden sollen
arrQuellZellen = Array("B12", "B22", "B45", "B77")
'Array der Spalten in der Liste in die die Werte aus den Zellen geschrieben werden sollen
arrZielSpalten = Array(2, 3, 4, 5)
'Array der Spaltentitel in der Liste
arrTitel = Array("Tabellenname", "Titel 1", "Titel 2", "Titel 3", "Titel 4")
With wksZiel
'Spaltentitel in Zusammenfassung eintragen
For Spalte = LBound(arrTitel) To UBound(arrTitel)
.Cells(Zeile, Spalte + 1) = arrTitel(Spalte)
Next Spalte
'Fenster unterhalb Titelzeile fixieren
.Cells(Zeile + 1, 1).Select
ActiveWindow.FreezePanes = True
'Tabellenblätter auslesen
For Each wksQuelle In wb1.Worksheets
If wksQuelle.Name  wksZiel.Name Then
Zeile = Zeile + 1
'Tabellenname in Spalte A eintragen
.Cells(Zeile, 1).Value = wksQuelle.Name
For Spalte = LBound(arrQuellZellen) To UBound(arrQuellZellen)
'Zahlenformat der Zelle übertragen
.Cells(Zeile, arrZielSpalten(Spalte)).NumberFormat = _
wksQuelle.Range(arrQuellZellen(Spalte)).NumberFormat
'Wert der Zelle übertragen
.Cells(Zeile, arrZielSpalten(Spalte)).Value = _
wksQuelle.Range(arrQuellZellen(Spalte)).Value
Next Spalte
End If
Next wksQuelle
'Spaltenbreiten auf optimalen Wert setzen
.UsedRange.EntireColumn.AutoFit
End With
End Sub

Anzeige
AW: Zellen generieren und als Liste transformieren
23.03.2007 23:21:34
Andy
Hallo,
genau das ist es was ich brauche, vielen Dank!
Ich bin begeistert!
Ich muß mich jetzt auch mal dransetzen und in VBA was ausprobieren!
Bis dahin werde ich die eine oder andere Hilfe von euch benötigen!!!
Nochmals vielen Dank!!

156 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige