Hi Leute ich hab ein Problem,
folgende 4 Excellisten habe ich:
1.) C:\kaufen1.xls
2.) C:\kaufen2.xls
3.) C:\kaufen3.xls
4.) C:\statistik.xls (da rein sollen Daten (ganze Zeilen kopiert werden) falls die 2 Werte übereinstimmen)
3 gleiche Listen mit unterschiedlichen Firmen (kaufen1, kaufen2, kaufen 3)
Gibt es ein Makro, das zuerst die Excellisteiste C:\kaufen1.xls fortlaufend durchsucht und wenn darin Zelle $E11=„GW“ (Bearbeiter) ist und Zelle $G11=„nein“ (erledigt) zutrifft mir dann die ganze Zeile fortlaufend in Liste 4.) C:\Statistik.xls hineinkopiert
Bearbeiter (ZELLE=E11) und erledigt (ZELLE=G11) muss gleich sein dann soll ers fortlaufend aus allen Listen, zuerst von Liste kaufen1, dann anschließend Liste kaufen2 und zum Schluss Liste kaufen3 heauskopieren was zutrifft.
Möchte das es mit Makro gleich angezeigt wird - kein Auto-Filter bitte is mir zu lang zum zählen.
Wäre super wenn mir jemand bei der schwierigen Aufgabe helfen kann.
Bin für jede Hilfe dankbar!
Zusammengefasst:
Wenn ZELLE E11=„GW“ und G11=„nein“ in „C:\kaufen1.xls“ übereinstimmen dann soll es die ganze Zeile nach „C:\Statistik.xls“-> Tabellenblatt GW kopieren. Nachdem er das mit „C:\kaufen1.xls“ gemacht soll er es dann mit „C:\kaufen2.xls“ und dann noch mit „C:\kaufen3.xls“ machen.
Habe Laufzeitfehler:1004 bei Zeilen Code:
Workbooks.Open FileName:=Dirs & „“ & FileName
Wie löse ich den Fehler?
Der Ansatz:
'Wenn ZELLE E11=„GW“ und G11=„nein“
Sub DatenHolen()
Dim FilesMax As Long
Dim EintragMax As Long
Dim i As Integer
Dim FileName As String
Dim Dirs As String
Dim Tabname As String
Dim Bed1 As String, Bed2 As String
FilesMax = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
EintragMax = ThisWorkbook.Sheets(„statistik“).Cells(Rows.Count, 1).End(xlUp).Row
Dirs = ThisWorkbook.Path
For i = 1 To FilesMax
FileName = ThisWorkbook.Sheets(„statistik“).Cells(i, 1).Value
Tabname = ThisWorkbook.Sheets(„statistik“).Cells(i, 2).Value
Workbooks.Open FileName:=Dirs & „“ & FileName
Bed1 = ActiveWorkbook.Sheets(Tabname).Cells(11, 5).Value
Bed2 = ActiveWorkbook.Sheets(Tabname).Cells(11, 7).Value
If Bed1 = „GW“ And UCase(Bed2 = „NEIN“) Then
Rows(11).Copy
ThisWorkbook.Sheets(„Auswertung“).Range(„A“ & EintragMax + 1).PasteSpecial xlValues
End If
ActiveWorkbook().Close
Next
End Sub