Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1748to1752
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
Inhaltsverzeichnis

Wie mehrere Zellen aus mehreren Excel-Da

Wie mehrere Zellen aus mehreren Excel-Da
06.04.2020 11:37:14
Moritz
Hallo liebes Forum,
Ich möchte ein Excel Makro basteln, das in eine Datei Zeileninhalte aus mehreren Excel-Dateien einfügt. Nach langem Probieren und Abgleichen mit vorhandenen Makros habe ich noch keine Lösung gefunden... Ich hoffe hier kann mir jemand helfen.
Die einzelnen Excel-Dateien sehen so aus, dass sie Werte von H7 bis H24, einen Wert in C5 und evtl Werte von J7 bis unbestimmt haben.
Diese Werte sollen dann in einer neuen Tabelle jeweils untereinander aufgelistet werden ab Zeile 3.
Wenn möglich die Werte von Spalte H in Spalte A, die Werte von Spalte C in Spalte B und die Werte von Spalte J in Spalte C anzeigen lassen.
m Wertebereich H7:H24 und J7:J24 variiert die Zeilenanzahl ab und zu. Also manchmal hab ich Werte von H7 bis H24 und manchmal nur von H7 bis H23 oder weniger! Gibt es eine Möglichkeit auch leere Wertebereiche einfach auszulassen und mit der nächsten Tabelle weiterzumachen?
Für eure Unterstützung wäre ich euch sehr sehr dankbar!
Vielen Dank!
Grüße

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie mehrere Zellen aus mehreren Excel-Da
06.04.2020 15:42:29
Dieter
Hallo Moritz,
wenn ich dich richtig verstanden habe, dann könnte das Programm so aussehen:
Sub Zusammenfassung()
Dim fso As Object
Dim fil As Object
Dim fol As Object
Dim letzteZeile As Long
Dim mappe As String
Dim pfad As String
Dim wbQ As Workbook
Dim wsQ As Worksheet  ' Quelle
Dim wsZ As Worksheet  ' Ziel
Dim zeileQ As Long
Dim zeileZ_A As Long  ' Zielblatt, Zeile für Spalte A
Dim zeileZ_B As Long  ' Zielblatt, Zeile für Spalte B
Dim zeileZ_C As Long  ' Zielblatt, Zeile für Spalte C
Set wsZ = ThisWorkbook.Worksheets("Ergebnis")
wsZ.UsedRange.ClearContents
zeileZ_A = 3
zeileZ_B = 3
zeileZ_C = 3
pfad = ThisWorkbook.Path & "\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set fol = fso.GetFolder(FolderPath:=pfad)
For Each fil In fol.Files
If fil.Name Like "*.xlsx" And _
fil.Name  ThisWorkbook.Name Then
mappe = fil.Name
Set wbQ = Workbooks.Open(Filename:=pfad & mappe)
Set wsQ = wbQ.Worksheets(1)
' 1. Wert as C5
wsZ.Cells(zeileZ_A, "A") = wsQ.Range("C5")
zeileZ_A = zeileZ_A + 1
' 2. Werte aus Spalte H
letzteZeile = wsQ.Cells(wsQ.Rows.Count, "H").End(xlUp).Row
If letzteZeile >= 7 Then
wsQ.Range("H7").Resize(letzteZeile - 6, 1).Copy _
Destination:=wsZ.Cells(zeileZ_B, "B")
zeileZ_B = zeileZ_B + letzteZeile - 6
End If
' 3. Werte aus Spalte J
letzteZeile = wsQ.Cells(wsQ.Rows.Count, "J").End(xlUp).Row
If letzteZeile >= 7 Then
wsQ.Range("J7").Resize(letzteZeile - 6, 1).Copy _
Destination:=wsZ.Cells(zeileZ_C, "C")
zeileZ_C = zeileZ_C + letzteZeile - 6
End If
Workbooks(mappe).Close SaveChanges:=False
End If
Next fil
ThisWorkbook.Save
wsZ.Activate
Set fso = Nothing
End Sub
Falls ich dich nicht richtig verstanden habe, dann wäre eine Beispieldatei und zusätzliche Erläuterungen hilfreich.
https://www.herber.de/bbs/user/136452.xlsm
Viele Grüße
Dieter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige