Suche auch in Zellnamen
19.11.2013 11:00:29
Werner
Habe da mal wieder ein Problemchen.
Ich möchte, dass mit auch die Zellnamen durchsucht und das Ergebnis angezeigt wird.
Hier mein Code (den ich dank eurer Hilfe habe):
Sub finden_HV()
' Startblatt merken, da hier nicht gesucht werden soll
Dim WshShell As Object
Application.ScreenUpdating = False
On Error Resume Next
'Sheets("Suchergebnis").Select
StartBlatt = ActiveSheet.Name
msuch = Range("x1") 'Application.InputBox("Bitte den Suchtext eingeben", , Range("c5"))
If msuch = "" Then GoTo Nachricht
Sheets("Suchergebnis").Visible = True
Sheets("Suchergebnis").Select
mblatt = ActiveSheet.Name
If msuch = False Then
Exit Sub
End If
Nachricht:
If Len(msuch) = 0 Then
MsgBox "Es muss schon ein Suchtext eingegeben werden"
Exit Sub
End If
Range("D1").Value = msuch
Range("A1:C1").ClearContents
Range("A3:G200").ClearContents
Range("A1").Select
Cells(1, 1).Value = "Gefundene Einträge für die Suche nach: " + msuch
Cells(1, 2).Value = "Fundstelle"
' alte vergebene Namen löschen
Z = 1
While Z Sheets(i).Name Then
If Sheets(i).Visible Then
Worksheets(i).Select
button_true
If IsDate(msuch) Then
Set c = Cells.Find(DateValue(msuch), LookIn:=xlValues, lookat:=xlPart)
Else
If IsNumeric(msuch) Then
Set c = Cells.Find(Val(msuch), LookIn:=xlValues, lookat:=xlPart)
Else
Set c = Cells.Find(msuch, LookIn:=xlValues, lookat:=xlPart)
End If
End If
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Select
' Name für gefundene Zelle vergeben
ActiveWorkbook.Names.Add Name:="Suche" + Trim(Str(S)), RefersTo:="=" + _
Selection.Address
'If c = "" Then Sheets(mblatt).Cells(Z, 1).Value = msuch
Sheets(mblatt).Cells(Z, 1).Value = c.Value
Sheets(mblatt).Cells(Z, 2).Value = Sheets(i).Name '+ "!" + C.Address
Sheets(mblatt).Cells(Z, 3).Value = ActiveCell.Offset(0, 1).Value
Sheets(mblatt).Cells(Z, 4).Value = ActiveCell.Offset(0, 2).Value
Sheets(mblatt).Cells(Z, 5).Value = ActiveCell.Offset(0, 4).Value
Sheets(mblatt).Cells(Z, 6).Value = ActiveCell.Offset(0, 6).Value
Sheets(mblatt).Cells(Z, 7).Value = Sheets(i).Name + "!" + c.Address
' Hyperlink eintragen in den Eintrag der gefundenen Stelle
Sheets(mblatt).Select
Cells(Z, 1).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
_
"Suche" + Trim(Str(S)), TextToDisplay:=c.text
S = S + 1
Sheets(i).Select
Z = Z + 1
Set c = Cells.FindNext(c)
Loop While Not c Is Nothing And c.Address firstAddress
End If
button_false
End If
End If
Next
Sheets(StartBlatt).Select
Suchergebnis.Show False
Sheets("Suchergebnis").Visible = False
End Sub
Gruß und Danke schon jetzt!Werner