Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro Zeile erweitern

Forumthread: Makro Zeile erweitern

Makro Zeile erweitern
23.04.2023 14:24:18
Wolfgang

Guten Tag,
ich habe folgendes Makro über dieses Forum erhalten, für das Suchen in den Spalten:
Private Sub CommandButton1_Click()
Dim C As Range
Dim Article As String
Dim Weiter As VbMsgBoxResult
Article = TextBox1
If Article = "" Then Exit Sub
Set C = ActiveSheet.Range("$E$3:$F$650000").Find(What:=Article, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)

If Not C Is Nothing Then
C.Select
Else
MsgBox "Not found"
Exit Sub
End If
nochmal:
Weiter = MsgBox("Weitersuchen?", vbYesNo, "Alternative Suche")
If Weiter = vbYes Then

'Set C = ActiveSheet.Range("$C$3:$F$650000").Find(What:=Article, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)

Set C = ActiveSheet.Range(C.Offset(1, 0), "$e$650000").Find(What:=Article, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
If Not C Is Nothing Then
C.Select
GoTo nochmal
Else
MsgBox "Not found"
Exit Sub
End If
End If
End Sub

ich möchte gern diese Zeile ebenfalls erweitert haben E+F
Set C = ActiveSheet.Range(C.Offset(1, 0), "$e$650000").Find(What:=Article, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)

bin nicht so gut,
mfg wolfgang

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Zeile erweitern
24.04.2023 08:28:01
MCO
Moin!

Ich hab mal die Bereiche angepasst, Zeilengrenzen rausgenommen.
im Zweiten suchlauf hast du von C mit Offset gesucht. Wenn C aber in spalte "F" gefunden wird, wird der 2te Suchlauf nicht mehr in "E" gemacht, da offset nur nach unten verschiebt. Daher hab ich das angepasst und von C.row in spalte "E" den Bereich gesetzt.

für die Bessere lesbarkeit hab ich die rng1 vorher benannt.
Schau es dir mal an

Private Sub CommandButton1_Click()
    Dim C As Range
    Dim Article As String
    Dim Weiter As VbMsgBoxResult
    
    Article = TextBox1
    If Article = "" Then Exit Sub
    
    Set rng1 = ActiveSheet.Range("E:F")
    Set C = .Find(What:=Article, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
    
    If Not C Is Nothing Then
        C.Select
    Else
        MsgBox "Not found"
        Exit Sub
    End If
nochmal:
    Weiter = MsgBox("Weitersuchen?", vbYesNo, "Alternative Suche")
    If Weiter = vbYes Then
        Set rng1 = ActiveSheet.Range(Cells(C.Row + 1, "E"), "F" & Rows.Count) 'wenn in F die fundstelle ist, wird ansonsten nicht mehr in E gesucht!
        Set C = rng1.Find(What:=Article, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
        
        If Not C Is Nothing Then
            C.Select
            GoTo nochmal
        Else
            MsgBox "Not found"
            Exit Sub
        End If
    End If
End Sub
Gruß, MCO


Anzeige
AW: Makro Zeile erweitern
24.04.2023 11:14:53
wolfgang
Hallo MCO,
bleibt hier stehen:
Set C = .Find(What:=Article, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
Fehler beim Kompilieren
Unzulässiger oder nicht ausreichender definierter Verweis.

Dim rng1 habe ich eingesetzt.

mfg wolfgang


Anzeige
erledigt ! MCO Danke -)
24.04.2023 11:16:56
wolfgang
Hallo MCO,
habe dies davor gesetzt: rng1
läuft !
DANKE

gruß wolfgang

;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige