Makro mit wdhl. Autofill vereinfachen?
20.09.2005 09:00:20
Daniel
ich habe zur automatischen Terminierung einer Tabelle das unten angehängte Skript "zusammengebastelt", dass mir die Formeln in den Spalten D+G, L+O und T+W automatisch per Autofill bis zur Endemarke "end" nach unten kopiert.
Nun wird das Makro aber allmählich recht lang und es ist sicherlich auch nicht beste Möglichkeit wie man sowas realisieren kann - v.a. wenn noch weitere Spalten per Autofill gefüllt werden sollen!! Deshalb wollte ich mal fragen, ob evtl. jemand Ideen hat, wie ich mein Skript deutlich vereinfachen kann?
Zum besseren Verständnis habe ich auch mal eine Beispieldatei mit meinen Skript hochgeladen:
https://www.herber.de/bbs/user/26755.xls
Besten Dank für eure Hilfe, Vorschläge, Anregungen und Lösungen im voraus! :)
Grüsse
Daniel
Sub Terminierung()
If ActiveSheet.Name = "Beispiel" Then
On Error Resume Next
Set Teil1a = ThisWorkbook.ActiveSheet.Columns("D").Find("end", LookIn:=xlValues)
If Teil1a Is Nothing Then
MsgBox "end in Spalte D nicht gefunden!"
End If
Range("D4").AutoFill Destination:=Range("D4:D" & Teil1a.Row - 1), Type:=xlFillValues
Set Teil1b = ThisWorkbook.ActiveSheet.Columns("G").Find("end", LookIn:=xlValues)
If Teil1b Is Nothing Then
MsgBox "end in Spalte G nicht gefunden!"
End If
Range("G4").AutoFill Destination:=Range("G4:G" & Teil1b.Row - 1), Type:=xlFillValues
Set Teil2a = ThisWorkbook.ActiveSheet.Columns("L").Find("end", LookIn:=xlValues)
If Teil2a Is Nothing Then
MsgBox "end in Spalte L nicht gefunden!"
End If
Range("L4").AutoFill Destination:=Range("L4:L" & Teil2a.Row - 1), Type:=xlFillValues
Set Teil2b = ThisWorkbook.ActiveSheet.Columns("O").Find("end", LookIn:=xlValues)
If Teil2b Is Nothing Then
MsgBox "end in Spalte O nicht gefunden!"
End If
Range("O4").AutoFill Destination:=Range("O4:O" & Teil2b.Row - 1), Type:=xlFillValues
Set Teil3a = ThisWorkbook.ActiveSheet.Columns("T").Find("end", LookIn:=xlValues)
If Teil3a Is Nothing Then
MsgBox "end in Spalte T nicht gefunden!"
End If
Range("T4").AutoFill Destination:=Range("T4:T" & Teil3a.Row - 1), Type:=xlFillValues
Set Teil3b = ThisWorkbook.ActiveSheet.Columns("W").Find("end", LookIn:=xlValues)
If Teil3b Is Nothing Then
MsgBox "end in Spalte W nicht gefunden!"
End If
Range("W4").AutoFill Destination:=Range("W4:W" & Teil3b.Row - 1), Type:=xlFillValues
End If
End Sub