wird in einer Datei eine neue Tabelle angelegt, soll auch dort eine Gültigkeitsliste vorgegeben werden.
Deshalb habe ich über ein Workbook_SheetActivate-Ereignis versucht, eine Gültigkeitsliste (ca. 2900 Nummern) zu erstellen. Der Code ist größtenteils einem Beispiel von Hans entnommen.
Das Problem: Wird die Prozedur gestartet, bricht Excel bei der Zeile
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertWarning, Operator:= _
xlBetween, Formula1:=sVal
ab. Anstatt also die Nummern in einer Dropdown-Liste anzuzeigen, wird die Datei geschlossen und Excel beendet.
In der Hoffnung, es käme eine Fehlermeldung, habe ich die OnError-Anweisungen auskommentiert, aber nichts kommt.
Kann mir jemand helfen und sagen, woran das liegt bzw. was ich anders machen muss, damit es läuft?
Hier der vollständige Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim col As New Collection
Dim iRow As Integer
Dim sVal As String
Dim rng As Range
If IsEmpty(Cells(2, 1)) Then Exit Sub
iRow = 2
'On Error Resume Next
With Worksheets("Debitoren")
Do Until IsEmpty(.Cells(iRow, 1))
col.Add Item:=.Cells(iRow, 1).Value
iRow = iRow + 1
Loop
End With
'On Error GoTo 0
For iRow = 1 To col.Count
If iRow = 1 Then
sVal = col(iRow)
Else
sVal = sVal & "," & col(iRow)
End If
Next iRow
With Columns(6).Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertWarning, Operator:= _
xlBetween, Formula1:=sVal ', Formula2:=sVal
.IgnoreBlank = False
.InCellDropdown = True
.ErrorTitle = "Konto falsch"
.ErrorMessage = "Geben Sie eine gültige Kontonummer ein!"
End With
End Sub
Vielen Dank.
Gruß
Jürgen