Wiederkehrenden Code für Formular verkürzen
13.12.2012 11:33:53
Dave
Ich habe eine Userform mit 96 Schaltflächen, die beim Initialisieren aus einer Tabelle von Verweisen auf andere Exceldateien mit Caption (= Dateiname) und ControlTipText (=Pfad) belegt werden.
Die Schaltflächen tragen die Namen File1 bis File96. Dahinter liegt jeweils der Code
Private Sub File1_Click()
If CheckBox1 = False Then
Unload Me
With File1
Workbooks.Open filename:=.ControlTipText & "\" & .Caption
End With
Else
Dim c
With Workbooks("personal.xlsb").Worksheets("Files").Range("a1:a500")
Set c = .Find(File1.ControlTipText & "\" & File1.Caption, LookIn:=xlValues)
If Not c Is Nothing Then
.Rows(c.Row).EntireRow.Clear
End If
End With
With File1
.ControlTipText = ""
.Caption = ""
End With
End If
End Sub
das "File1" halt jeweils immer mit dem Namen der Schaltfläche belegt, ansonsten identisch. Das heißt, 96 mal der gleiche Code.Da ich nun schon zweimal etwas wieder ändern musste und diese Änderungen dann bei allen 96 Codes nachziehen muss, habe ich überlegt, ob man das nicht einfacher gestalten kann, über einen Call-Aufruf oder ähnliches. Ich kriege es aber technisch nicht hin, da ja dann irgendwie die Nummerierung übergeben werden muss.
Kann mir da jemand helfen oder geht das gar nicht?
Danke vorab.
Gruß
David