Suchergebnisfenster bearbeiten

06/09/2008 - 13:23 von Frank Vellner | Report spam
Liebe NG,

gibt es irgendeine Möglichkeit in XL 2007 den Inhalt des
Suchergebnisfensters weiterzuverarbeiten?

Ich meine eine einfache Suche auf einem Tabellenblatt. Dort bekomme ich
ja über "Alle suchen" ein Ergebnisfenster. Den Inhalt würde ich gerne
nutzen.

Hintergrund: Aus einer langen Wortliste möchte ich diejenigen
herausfinden, die einen bestimmten substring enthalten. Das geht
natürlich über - nicht ganz einfache Formeln. Aber es würde auch über
die normale Suche gehen, denn die macht ja substring-search, und das
ist wesentlich schneller. Nur komme ich nicht an das Ergebnis heran :-(

Viele Grüße
Frank
 

Lesen sie die antworten

#1 {Boris}
06/09/2008 - 16:15 | Warnen spam
Hi Frank,

On 6 Sep., 13:23, "Frank Vellner"
wrote:
Liebe NG,

gibt es irgendeine Möglichkeit in XL 2007 den Inhalt des
Suchergebnisfensters weiterzuverarbeiten?

Ich meine eine einfache Suche auf einem Tabellenblatt. Dort bekomme ich
ja über "Alle suchen" ein Ergebnisfenster. Den Inhalt würde ich gerne
nutzen.

Hintergrund: Aus einer langen Wortliste möchte ich diejenigen
herausfinden, die einen bestimmten substring enthalten. Das geht
natürlich über - nicht ganz einfache Formeln. Aber es würde auch über
die normale Suche gehen, denn die macht ja substring-search, und das
ist wesentlich schneller. Nur komme ich nicht an das Ergebnis heran :-(



Das Ergebnis von "Alle suchen" ist nur das Ergebnis der Find-Methode
in Kombination mit FindNext. Das kann man problemlos in VBA
programmieren.

In folgendem Beispiel gibt es Tabelle1 und Tabelle2 (das sind hier die
CODEnamen der Blàtter!). Tabelle1 soll nach einem Teilstring
durchsucht werden. Das Ergebnis - die Zelladressen der Treffer - wird
in Tabelle2, Spalte A eingetragen.
Es wird hierbei NICHT nach Groß-und Kleinschreibung unterschieden.

Option Explicit
Option Base 1

Sub such_mich()
Dim varSearch As Variant, C As Range
Dim arr(), lngCount As Long, x As Long
varSearch = Application.InputBox("Nach welchem Teilstring soll ich
suchen?", , "Suchbegriff")
If varSearch = False Then Exit Sub
lngCount = WorksheetFunction.CountIf(Tabelle1.Cells, "*" & varSearch &
"*")
If lngCount Then
ReDim arr(1 To lngCount)
With Tabelle1.Cells
For x = 1 To lngCount
If x = 1 Then
Set C = .Find(varSearch, lookat:=xlPart, MatchCase:=False)
Else
Set C = .FindNext(C)
End If
arr(x) = C.Address
Next x
End With
With Tabelle2
.Columns(1).Clear
.Range("A1") = "Suchbegriff *" & varSearch & "* gefunden in
folgenden Zellen:"
.Range("A2").Resize(lngCount, 1) WorksheetFunction.Transpose(arr())
.Range("A1").Font.Bold = True
End With
Else
MsgBox "Nix gefunden...", , "Gebe bekannt..."
End If
End Sub

Grüße Boris

Ähnliche fragen