über ein UF mit 14 Comboboxen wird gefiltert und eine neue Tabelle mit den gefilterten Daten generiert. Nun ist mir aufgefallen, dass der Code nicht abgebrochen wird, wenn nicht wenigstens eine der 14 Boxes mit Text gefüllt ist, wie kann ich das evtl. realisieren? - Gestartet wird über cmdFiltern, so dass an dieser Stelle schon evtl. der Abbruch mit Msgbox erfolgen müßte (?); Unternstehend auszugsweise die Codes.
Danke schon jetzt für die Rückmeldungen.
Gruß - Wolfgang
'*** Filterkritrien festlegen und filtern ***
Private Sub cmdFiltern_Click()
'Zunächst überprüfen, ob sich der Speicherpfad in Tabelle "Zeile, A30" befindet
With ThisWorkbook.Worksheets("Zeile").Range("A30")
If ThisWorkbook.Worksheets("Zeile").Range("A30") = "" Then
MsgBox "Offensichtlich wurde der Speicherpfad bei der Ersteinrichtung dieser Mappe noch _
nicht festgelegt" & vbLf & _
"Bitte zunächst erledigen - Der Vorgang wird abgebrochen", vbCritical
Unload Me
Exit Sub
Else
End If
End With
'in beiden untenstehenden Fällen wird der Code "Serienbrief auf jeden Fall angesprochen"
If OptionButton1 Then
Brief 1
Else
andereBriefe
End If
End Sub
'ausugsweiser Code aus dem eigentlichen Filtervorgang
Sub Serienbrief()
' Variablendeklaration
Dim intCounter As Integer
Dim shSource As Worksheet
Dim lngRow As Long
Dim wb As Workbook
Dim spOrt As String
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
' Schleife über 14 TextBoxes
For intCounter = 1 To 14
'Wenn eine Auswahl erfolgte, dann
If Controls("cbbKriterium" & intCounter).ListIndex -1 Then
'Kriterium festlegen
If intCounter = 3 Then
Range("A1").AutoFilter Field:=intCounter, _
Criteria1:=CDate(Controls("cbbKriterium" & intCounter).Value)
Else
Range("A1").AutoFilter Field:=intCounter, _
Criteria1:=Controls("cbbKriterium" & intCounter).Value
End If
End If
Next intCounter
End Sub