MultiSelect-Code abändern

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: MultiSelect-Code abändern
von: Sören
Geschrieben am: 07.07.2002 - 23:11:57

Wer kann mir helfen? Ich möchte folgenden Code abändern. Der Makro soll von einem Tabellenblatt „Start“ aufgerufen werden, anschließend in das Tabellenblatt „Adressen“ wechseln und alle übereinstimmenden Suchbegriffe markieren.

Sub MultiSelect()
Dim wks As Worksheet
Dim rngFind As Range, rngRows As Range
Dim lngRow As Long
Dim strFind As String, strSearch As String
strSearch = InputBox("Suchbegriff:", , "test")
Set rngFind = Cells.Find(strSearch)
If rngRows Is Nothing Then
Set rngRows = rngFind
End If
If Not rngFind Is Nothing Then
strFind = rngFind.Address
Do
Set rngRows = Application.Union(rngRows, rngFind.EntireRow)
Set rngFind = Cells.FindNext(After:=rngFind)
If rngFind.Address = strFind Then Exit Do
Loop
End If
rngRows.Select
End Sub

nach oben   nach unten

Re: MultiSelect-Code abändern
von: Thomas Eckel
Geschrieben am: 07.07.2002 - 23:23:31

Hallo Sören,
hier der geänderte Code:

Sub MultiSelect()
Dim wks As Worksheet
Dim rngFind As Range, rngRows As Range
Dim lngRow As Long
Dim strFind As String, strSearch As String
Worksheets("Start").Select
strSearch = Cells(1, 1)
Worksheets("adressen").Select
Set rngFind = Cells.Find(strSearch)
If rngRows Is Nothing Then
Set rngRows = rngFind
End If
If Not rngFind Is Nothing Then
strFind = rngFind.Address
Do
Set rngRows = Application.Union(rngRows, rngFind.EntireRow)
Set rngFind = Cells.FindNext(After:=rngFind)
If rngFind.Address = strFind Then Exit Do
Loop
End If
rngRows.Select
End Sub

Der Suchbegriff ist in Cells(1,1) sprich Zelle A1 einzutragen.
Kannst du aber ändern in der Zeile strSearch = Cells(1, 1).
Jetzt noch einen Button einfügen und mit dem Makro verknüpfen.
Gruß
Thomas

nach oben   nach unten

Re: MultiSelect-Code abändern
von: Sören
Geschrieben am: 08.07.2002 - 00:33:31

Hallo Thomas, vielen Dank für die schnelle Hilfe. Ich habe eben auf "Abbrechen" geklickt und bekam eine Fehlermeldung. Diese gibt es auch, wenn das Suchwort nicht gefunden wird. Woran liegt das?

nach oben   nach unten

Re: MultiSelect-Code abändern
von: Thomas Eckel
Geschrieben am: 08.07.2002 - 07:08:24

Hallo Sören,
der Fehler tritt durch die Zeile rngRows.Select auf. Wenn die Suche nicht erfolgreich war, ist das Objekt leer. Der Fehler tritt nicht mehr auf, wenn du die Zeilen nach loop wie folgt schreibst:

loop
rngRows.select
end if
End sub

Damit wird der Befehl rngRows.Select nur ausgeführt, wenn die Bedingung If Not rngFind Is Nothing erfüllt ist. Es wurde dann etwas gefunden.
Gruß
Thomas

nach oben   nach unten

Re: MultiSelect-Code abändern
von: Thomas Eckel
Geschrieben am: 08.07.2002 - 07:08:28

Hallo Sören,
der Fehler tritt durch die Zeile rngRows.Select auf. Wenn die Suche nicht erfolgreich war, ist das Objekt leer. Der Fehler tritt nicht mehr auf, wenn du die Zeilen nach loop wie folgt schreibst:

loop
rngRows.select
end if
End sub

Damit wird der Befehl rngRows.Select nur ausgeführt, wenn die Bedingung If Not rngFind Is Nothing erfüllt ist. Es wurde dann etwas gefunden.
Gruß
Thomas

nach oben   nach unten

Re: MultiSelect-Code abändern
von: Thomas Eckel
Geschrieben am: 08.07.2002 - 07:08:44

Hallo Sören,
der Fehler tritt durch die Zeile rngRows.Select auf. Wenn die Suche nicht erfolgreich war, ist das Objekt leer. Der Fehler tritt nicht mehr auf, wenn du die Zeilen nach loop wie folgt schreibst:

loop
rngRows.select
end if
End sub

Damit wird der Befehl rngRows.Select nur ausgeführt, wenn die Bedingung If Not rngFind Is Nothing erfüllt ist. Es wurde dann etwas gefunden.
Gruß
Thomas

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Kopfzeile unterschiedlich auf jeder Seite"