Hallo Reinhard,
Zeig mal den jetzigen Gesamtcode
Du wolltest es so ) Hier der Gesamtcode vom ganzen Projekt einer Fahrtkostenabrechnung die sich in den nächsten Jahren x-mal
wiederholt und an der ich immer ca. 3 Stunden sitze.
Sub Makro2()
’
’ Makro2 Makro
’ Makro am 05.01.2011 von Brose aufgezeichnet
’
’
ChDir „C:\Dokumente und Einstellungen\Brose\Desktop\FK“
Workbooks.Open Filename:= _
„C:\Dokumente und Einstellungen\Brose\Desktop\FK\SC 31319101 § 46_Fahrtkostenabrechnung_ÖNV.xls“
Workbooks.Open Filename:= _
„C:\Dokumente und Einstellungen\Brose\Desktop\FK\Lau 31319101 § 46_Fahrtkostenabrechnung_ÖNV.xls“
Workbooks.Open Filename:= _
„C:\Dokumente und Einstellungen\Brose\Desktop\FK\FÜ Stadt 31319101 § 46_Fahrtkostenabrechnung_ÖNV Barauszahlung.xls“
Workbooks.Open Filename:= _
„C:\Dokumente und Einstellungen\Brose\Desktop\FK\FÜ Land 31319101 § 46_Fahrtkostenabrechnung_ÖNV Barauszahlung.xls“
Workbooks.Open Filename:= _
„C:\Dokumente und Einstellungen\Brose\Desktop\FK\FÜ Stadt 31319101 § 46_Fahrtkostenabrechnung_ÖNV.xls“
Workbooks.Open Filename:= _
„C:\Dokumente und Einstellungen\Brose\Desktop\FK\FÜ Stadt 31319101 § 46_Fahrtkostenabrechnung_ÖNV1.xls“
Workbooks.Open Filename:= _
„C:\Dokumente und Einstellungen\Brose\Desktop\FK\FÜ Land 31319101 § 46_Fahrtkostenabrechnung_ÖNV1.xls“
Workbooks.Open Filename:= _
„C:\Dokumente und Einstellungen\Brose\Desktop\FK\FÜ Land 31319101 § 46_Fahrtkostenabrechnung_ÖNV.xls“
Workbooks.Open Filename:= _
„C:\Dokumente und Einstellungen\Brose\Desktop\FK\31319101 Ueberweisungsauftrag § 46 Selbständige.xls“
Workbooks.Open Filename:= _
„C:\Dokumente und Einstellungen\Brose\Desktop\FK\Tabelle für Februar 11 G14-G21.xls“
Windows(„Kopie von Tabelle für xx .xls“).Activate
’ Kopie der Tabelle anlegen und datei schließen
Range(„A2“).Select
Range(„A2:V2“).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(„Tabelle für Februar 11 G14-G21.xls“).Activate
Range(„A2“).Select
ActiveSheet.Paste
Range(„A2“).Select
Rem ActiveWorkbook.Save
Rem ActiveWindow.Close
’ TN mit null Tagen löschen
Windows(„Kopie von Tabelle für xx .xls“).Activate
Selection.AutoFilter Field:=9, Criteria1:=„0“
Range(„B2“).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter Field:=9
Range(„B2“).Select
’ Barauszahler anlegen und Kopieren Fürth Stadt
ActiveWindow.ScrollColumn = 13
Selection.AutoFilter Field:=15, Criteria1:="="
Selection.AutoFilter Field:=5, Criteria1:=„Jobcenter Fürth“
ActiveWindow.ScrollColumn = 4
Range(„B2“).Select
Range(„B2:H2“).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(„FÜ Stadt 31319101 § 46_Fahrtkostenabrechnung_ÖNV Barauszahlung.xls“) _
.Activate
Range(„B6“).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows(„Kopie von Tabelle für xx .xls“).Activate
Range(„I2“).Select
Range(„I2:L2“).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Windows(„FÜ Stadt 31319101 § 46_Fahrtkostenabrechnung_ÖNV Barauszahlung.xls“) _
.Activate
Range(„N6“).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range(„B6“).Select
Rem ActiveWorkbook.Save
Rem ActiveWindow.Close
Windows(„Kopie von Tabelle für xx .xls“).Activate
ActiveWindow.ScrollColumn = 13
Selection.AutoFilter Field:=15
Selection.AutoFilter Field:=5
ActiveWindow.ScrollColumn = 4
Range(„B2“).Select
’ Barauszahler anlegen und Kopieren Fürth Land
’ Kriterien
ActiveWindow.ScrollColumn = 13
Selection.AutoFilter Field:=15, Criteria1:="="
Selection.AutoFilter Field:=5, Criteria1:=„Jobcenter Fürth Land“
’ Kopiervorgang
ActiveWindow.ScrollColumn = 4
Range(„B2“).Select
Range(„B2:H2“).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(„FÜ Land 31319101 § 46_Fahrtkostenabrechnung_ÖNV Barauszahlung.xls“) _
.Activate
Range(„B6“).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows(„Kopie von Tabelle für xx .xls“).Activate
Range(„I2“).Select
Range(„I2:L2“).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Windows(„FÜ Land 31319101 § 46_Fahrtkostenabrechnung_ÖNV Barauszahlung.xls“) _
.Activate
Range(„N6“).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range(„B6“).Select
Rem ActiveWorkbook.Save
Rem ActiveWindow.Close
’ Kriterien zurücksetzen
Windows(„Kopie von Tabelle für xx .xls“).Activate
Selection.AutoFilter Field:=15
Selection.AutoFilter Field:=5
Range(„B2“).Select
’ Überweisungsträger kopieren
Selection.AutoFilter Field:=15, Criteria1:=""
Range(„M2“).Select
Range(„M2:V2“).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(„31319101 Ueberweisungsauftrag § 46 Selbständige.xls“).Activate
Range(„B7“).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range(„B7“).Select
Rem ActiveWorkbook.Save
Rem ActiveWindow.Close
Windows(„Kopie von Tabelle für xx .xls“).Activate
Selection.AutoFilter Field:=15
Range(„B2“).Select
’ TN mit ohne Konto löschen
Selection.AutoFilter Field:=15, Criteria1:="="
Range(„B2“).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter Field:=15
Range(„B2“).Select
’ Kontobereich loschen
Range(„M2:V2“).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete
Range(„B2“).Select
’ Abrechnung anlegen und Kopieren Schwabach
’ Kriterien
Selection.AutoFilter Field:=5, Criteria1:=„Jobcenter Schwabach“
’ Kopiervorgang
Range(„B2“).Select
Range(„B2:H2“).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(„SC 31319101 § 46_Fahrtkostenabrechnung_ÖNV.xls“) _
.Activate
Range(„B6“).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows(„Kopie von Tabelle für xx .xls“).Activate
Range(„I2“).Select
Range(„I2:L2“).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Windows(„SC 31319101 § 46_Fahrtkostenabrechnung_ÖNV.xls“) _
.Activate
Range(„N6“).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range(„B6“).Select
Rem ActiveWorkbook.Save
Rem ActiveWindow.Close
’ Kriterien zurücksetzen
Windows(„Kopie von Tabelle für xx .xls“).Activate
Selection.AutoFilter Field:=5
Range(„B2“).Select
’ Abrechnung anlegen und Kopieren Lauf
’ Kriterien
Selection.AutoFilter Field:=5, Criteria1:=„Jobcenter Nbg. Land“
’ Kopiervorgang
Range(„B2“).Select
Range(„B2:H2“).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(„LAU 31319101 § 46_Fahrtkostenabrechnung_ÖNV.xls“) _
.Activate
Range(„B6“).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows(„Kopie von Tabelle für xx .xls“).Activate
Range(„I2“).Select
Range(„I2:L2“).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Windows(„LAU 31319101 § 46_Fahrtkostenabrechnung_ÖNV.xls“) _
.Activate
Range(„N6“).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range(„B6“).Select
Rem ActiveWorkbook.Save
Rem ActiveWindow.Close
’ Kriterien zurücksetzen
Windows(„Kopie von Tabelle für xx .xls“).Activate
Selection.AutoFilter Field:=5
Range(„B2“).Select
’ Abrechnung anlegen und Kopieren zuerst in Tabelle 2 und 3 Fürth Land
’ Kriterien
Selection.AutoFilter Field:=5, Criteria1:=„Jobcenter Fürth Land“
'Zählen und bis 25 TN in Tabelle1 den Rest in Tabelle 2
Dim wks2 As Worksheet, wks3 As Worksheet, Zei1 As Long, Zei2 As Long
Dim Z As Long
Set wks2 = Worksheets(„Tabelle2“)
Set wks3 = Worksheets(„Tabelle3“)
wks2.UsedRange.ClearContents
wks3.UsedRange.ClearContents
With Worksheets(„Tabelle1“)
Zei1 = .Cells(Rows.Count, 1).End(xlUp).Row
Z = 1
Do
Z = Z + 1
If .Rows(Z).Hidden = False Then
Zei2 = Zei2 + 1
.Rows(Z).Copy Destination:=wks2.Cells(Zei2, 1)
End If
Loop While Z Copy Destination:=wks4.Cells(Zei2, 1)
End If
Loop While Z
Beim kopieren in Tabelle 4 fängt er aus mir unerfindlichen Gründen bei A4 an Statt bei A1. Alle anderen sind A1!!!
Kann aber damit leben, wird halt ab B4 kopiert.
Viel Spaß wünsch der Dilettant
Dietrich