Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1928to1932
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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


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

gruß wolfgang

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige