Aus Datenschutz kann ich leider keine Daten hochladen.
Mir würde se schon helfen wenn du deinen Quelltext
auskommentieren könntest, damit ich weiß was im Einzelnen
geschieht und diesen dann an meine Daten anpassen kann.
Hallo Johny,
ich hab noch einen kleinen Bug entdeckt und zerquetscht.
Mein Code benutzt den Spezialfilter in Excel, da kann man nur zusammenhängende Spalten rüberkopieren, aber kein Akt, nicht erwünschte Spalten kann man im Code dann löschen, ich muß nur wissen welche.
Mein Code überprüft nur im Masterdokument die Spalte A, wenn dort Der Mappename von China.xls ohne dieses .xls auftaucht, werden Ax-Cx rüberkopiert.
S1:U2 sind nur Hilfszellen. Nimmt man halt andre wenn da schon was steht.
Sub Kopier()
Dim wksM As Worksheet, wks As Worksheet, W As Integer, ZeiM As Long, Zei As Long
Application.ScreenUpdating = False ' Bidschirmaktualisierung aus
'Mit wks und wksM kann man dann die enstprechenen Blätter referenzieren/ansprechen
Set wksM = Workbooks("Master.xls").Worksheets("Tabelle1")
Set wks = ThisWorkbook.Worksheets("Tabelle1")
wks.Activate
With wksM
' Ermittlung der zeile der untersten befüllten Zelle in A von wksM
ZeiM = .Cells(Rows.Count, 1).End(xlUp).Row
' Ermittlung der zeile der untersten befüllten Zelle in A von wks
Zei = Cells(Rows.Count, 1).End(xlUp).Row
'S1="Land", T1="Name", U1 ="Projct"
wks.Range("S1:U1") = Split("Land Name Projekt")
'S2 ist "China" wenn die Mappe China.xls heißt.
wks.Range("S2") = Replace(ThisWorkbook.Name, ".xls", "")
'Der nächste Befehl entspricht Daten Spezialfilter
'wenn du dort "an eine andere Stelle kopieren" auswählst
'Listenbereich: wksM.Range("A1:C" & Zei)
'Kriterienbereich: wks.Range("S1:U2")
'Kopieren nach wks.Cells(Zei + 1, 1)
.Range("A1:C" & Zei).AdvancedFilter Action:=xlFilterCopy, \_
CriteriaRange:=wks.Range("S1:U2"), CopyToRange:=wks.Cells(Zei + 1, 1), Unique:=False
'Kriterienbereich löschen
wks.Range("S1:U2").ClearContents
End With
Application.ScreenUpdating = True ' Bidschirmaktualisierung ein
End Sub
Gruß
Reinhard