AW: Hinweis / Vorschlag ...
12.10.2016 14:07:09
fcs
Hallo Silke,
deine Problem-Zellen sind nicht leer, sondern enthalten Leerzeichen oder Leerstrings als Formelergebnis oder aus Daten-Importen.
Nachfolend das angepasste Such-Makro im Userform-Code.
Entweder das gesamte Makro austauschen oder die mit "Neu" bzw. "geändert" markierten Zeilen.
LG
Franz
Private Sub cmbSuchen_Click()
Dim bol1st As Boolean
If rngSuche Is Nothing Then 'Neu
MsgBox "Bitte erst eine Zeile oder Spalte auswählen" 'Neu
Exit Sub 'Neu
End If 'Neu
If lngE = 0 Then
Me.cmbSuchen.Caption = "weiter Suchen"
bol1st = True
Else
bol1st = False
End If
Do
lngE = lngE + 1
If bol1st = True And lngE > IIf(bolSpalte, Spalte_L, Zeile_L) Then
MsgBox "keine """ & IIf(bolWort, "Wörter", "Zahlen") & """ gefunden!"
Me.cmbSuchen.Caption = "Suchen"
Exit Do
ElseIf lngE > IIf(bolSpalte, Spalte_L, Zeile_L) Then
MsgBox "keine weiteren """ & IIf(bolWort, "Wörter", "Zahlen") & """ gefunden!"
Me.cmbSuchen.Caption = "Suchen"
Exit Do
End If
If bolSpalte Then
If Not Trim(rngSuche.Cells(lngE, 1)) = "" Then 'geändert
If bolWort And Not IsNumeric(rngSuche.Cells(lngE, 1)) Then
ActiveWindow.ScrollRow = lngE
ZeileZ = lngE
txbZelle = wksData.Cells(ZeileZ, SpalteZ).Address(False, False, xlA1)
txbWert = wksData.Cells(ZeileZ, SpalteZ).Value
Exit Do
ElseIf bolWort = False And IsNumeric(rngSuche.Cells(lngE, 1)) Then
ActiveWindow.ScrollRow = lngE
ZeileZ = lngE
txbZelle = wksData.Cells(ZeileZ, SpalteZ).Address(False, False, xlA1)
txbWert = wksData.Cells(ZeileZ, SpalteZ).Value
Exit Do
End If
End If
Else
If Not Trim(rngSuche.Cells(1, lngE)) = "" Then 'geändert
If bolWort And Not IsNumeric(rngSuche.Cells(1, lngE)) Then
ActiveWindow.ScrollColumn = lngE
SpalteZ = lngE
txbZelle = wksData.Cells(ZeileZ, SpalteZ).Address(False, False, xlA1)
txbWert = wksData.Cells(ZeileZ, SpalteZ).Value
Exit Do
ElseIf bolWort = False And IsNumeric(rngSuche.Cells(1, lngE)) Then
ActiveWindow.ScrollColumn = lngE
SpalteZ = lngE
txbZelle = wksData.Cells(ZeileZ, SpalteZ).Address(False, False, xlA1)
txbWert = wksData.Cells(ZeileZ, SpalteZ).Value
Exit Do
End If
End If
End If
Loop
End Sub