ich habe mich Excel/VBA schon so eeiniges erlebt, aber jetzt beobachte ich ein Verhalten, welches für mich absolut unerklärlich ist:
Ich habe ein Projekt mit 15-20 Tabellen-Blättern und will parametrisiert aus dem ersten Blatt heraus ein weiteres Blatt erzeugen, wenn es nicht schon existiert.
Dazu habe ich folgenden Code erzeugt:
Public Sub FillEducationFieldList(prm_EducationField As String)
Dim wks_EducationField As Worksheet
Dim i As Integer
If Evaluate("IsError(" & prm_EducationField & "!1:1)") Then
' TRUE = Sheet gibt es noch nicht
' unhide "MusterBereich"
With ActiveWorkbook.Sheets("MusterBereich")
.Visible = xlSheetVisible
.Copy after:=Sheets(Sheets.Count)
' xlSheetHidden: User kann Blatt einblenden
' xlSheetVeryHidden: User kann Blatt NICHT einblenden
.Visible = xlSheetVeryHidden
End With
Set wks_EducationField = Sheets(Sheets.Count)
wks_EducationField.Name = prm_EducationField
Else
' FALSE = Sheet gibt es
Set wks_EducationField = Sheets(prm_EducationField)
End If
' Beschriftung (=Bereich) nachtragen
wks_EducationField.Name = prm_EducationField
wks_EducationField.Cells(2, 3).Value = prm_EducationField
' Registerfarbe ändern!
With wks_EducationField.Tab
.color = 192
.TintAndShade = 0
End With
End Sub
Das Ganze hat schon seit gut nem Jahr funktioniert, aber jetzt bekomme ich den Effekt, dass das Makro nach der Codezeile ".Copy after:=Sheets(Sheets.Count)" einfach stoppt. Keine Fehlermeldung, Kein Flackern. Nichts. Ergänze ich das um "On Error goto", passiert da ebenfalls gar nichts.Hat jemand eine Idee, wie ich dem auf die Schliche kommen könnte?
Mark