Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
528to532
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
528to532
528to532
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten aus mehreren Blättern kopieren

Daten aus mehreren Blättern kopieren
11.12.2004 01:31:30
Walter
Hallo an die Wissenden,
folgendes Problem:
in meheren Arbeitsblättern einer Datei stehen jeweils an der gleichen Stelle (gleiche Zelle) Daten, die ich in ein anderes Blatt kopieren möchte.
Desweiteren soll der Blattname aus dem die Daten kommen in einer Zelle des neuen Blattes eingefügt werden (pro Datensatz aus dem Ursprungsblatt eine neue Zeile).
Wie stelle ich es an, das ein Makro, nachdem es ein Blatt abgegrast hat, das nächste Blatt abfragt und in der neuen Zeile einträgt usw. ?
Vielen Dank für schnelle Antwort
Walter

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus mehreren Blättern kopieren
11.12.2004 09:01:41
Josef
Hallo Walter!
Das sollte es tun.

Sub Daten_sammeln()
Dim wks As Worksheet
Dim wksZ As Worksheet
Dim strZelle As String
Dim lastRow As Long
Set wksZ = Sheets("Tabelle3") 'Blatt in dem die Daten gesammelt werden.(Name anpassen)
strZelle = "F3" 'Zelle in der die daten stehen.(anpassen)
lastRow = wksZ.Range("A65536").End(xlUp).Row + 1
For Each wks In ThisWorkbook.Worksheets
If wks.Name <> wksZ.Name Then
wksZ.Cells(lastRow, 1) = wks.Range(strZelle)
wksZ.Cells(lastRow, 2) = wks.Name
lastRow = lastRow + 1
End If
Next
End Sub

Gruß Sepp
Anzeige
Frage an Sepp
Fritz
Hallo Sepp,
ich habe eine ähnliche Aufgabenstellung mit dem Unterschied, dass ich die Blätter der Arbeitsmappe, in denen in der betreffenden Zelle (hier F3) keine Eintragung steht bzw. nur eine Formel, die als Ergebnis "" liefert, nicht in die "Zieltabelle"(hier:Tabelle 3)übernommen werden sollen.
Wäre nett, wenn Du mir bei der Umsetzung hilfreich sein kannst. Ich bin immer wieder begeistert über die Qualität Deiner Hilfen.
Vielen Dank schon an dieser Stelle und ein schönes Wochenende!
Fritz
@ Fritz
11.12.2004 10:32:14
Josef
Hallo Fritz!
Dann so.

Sub Daten_sammeln()
Dim wks As Worksheet
Dim wksZ As Worksheet
Dim strZelle As String
Dim lastRow As Long
Set wksZ = Sheets("Tabelle3") 'Blatt in dem die Daten gesammelt werden.(Name anpassen)
strZelle = "F3" 'Zelle in der die Daten stehen.(anpassen)
lastRow = wksZ.Range("A65536").End(xlUp).Row + 1
For Each wks In ThisWorkbook.Worksheets
If wks.Name <> wksZ.Name Then
If wks.Range(strZelle) <> "" Then
wksZ.Cells(lastRow, 1) = wks.Range(strZelle)
wksZ.Cells(lastRow, 2) = wks.Name
lastRow = lastRow + 1
End If
End If
Next
End Sub

Gruß Sepp
Anzeige
AW: @ Fritz
Fritz
Hallo Sepp,
vielen Dank für Deine Hilfe.
Ich hoffe nun weiter, dass es Dich nicht stört, wenn ich trotzdem - an dieser Stelle - noch einen Wunsch äußere:
Wenn ich das Makro wiederhole, sollten, wenn bereits aus einem vorhergehenden Aufruf des Makros bereits Werte in der Zieltabelle eingetragen wurden, diese ggf. überschrieben werden. Sollten bei einem früheren Aufruf des Makros bereits vorhandene Tabellen inzwischen Werte enthalten bzw. falls mittlerweile neue Tabellen mit Werten (in der betreffenden Zelle F3) in die Arbeitsmappe eingefügt wurden, sollte dies ebenfalls in der Zieltabelle eingetragen werden. Mit anderen Worten: die Zieltabelle sollte bei jedem neuen Aufruf des Makros aktualisiert werden.
Besten Dank für die schon geleistete Hilfe. Würde mich natürlich darüber freuen, wenn sich auch dieser (hoffentlich letzte) Wunsch realisieren ließe.
Schönen Gruß
Fritz
Anzeige
AW: @ Fritz
11.12.2004 11:15:32
Josef
Hallo Fritz!
Dann ändere die Zeile
lastRow = wksZ.Range("A65536").End(xlUp).Row + 1 in
 lastRow = 1 ' oder 2 wenn die Eintrageung in Zeile zwei beginnen soll
und darunter schreibst du
 wksZ.Range("A2:B65536").ClearContents
um die Daten zu löschen. Dann werden die Daten immer ab Zeile Zwei eingefügt! Gruß Sepp
Einfach Spitze! Danke Sepp! o.w.T
Fritz
AW: Daten aus mehreren Blättern kopieren
11.12.2004 12:52:14
Walter
Hallo Sepp,
vielen Dank für die prompte Unterstützung. Aber eine Frage noch dazu:
es handelt sich um mehrere Zellen die kopiert werden sollen.
Eingabe im Makro nacheinaander: "F3; F9; A2" ?
Danke nochmals
Walter
Anzeige
AW: Daten aus mehreren Blättern kopieren
11.12.2004 13:04:40
Josef
Hallo Walter!
Dann so:

Sub Daten_sammeln()
Dim wks As Worksheet
Dim wksZ As Worksheet
Dim lastRow As Long
Set wksZ = Sheets("Tabelle3") 'Blatt in dem die Daten gesammelt werden.(Name anpassen)
lastRow = wksZ.Range("A65536").End(xlUp).Row + 1
For Each wks In ThisWorkbook.Worksheets
If wks.Name <> wksZ.Name Then
wksZ.Cells(lastRow, 1) = wks.Range("F3")
wksZ.Cells(lastRow, 2) = wks.Range("F9")
wksZ.Cells(lastRow, 3) = wks.Range("A2")
wksZ.Cells(lastRow, 4) = wks.Name
lastRow = lastRow + 1
End If
Next
End Sub

Gruß Sepp
Anzeige
AW: Daten aus mehreren Blättern kopieren
Walter
Hallo Sepp,
vielen Dank, das hat mir sehr viele try and errors erspart :-)
Walter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige