Clever-Excel-Forum

Normale Version: Reichweite einer Schleife erhöhen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Ich würde es ja ohnehin anders angehen:
Modul Modul3
Option Explicit 
 
Sub RPP() 
Dim rng As Range, firstAddress As String 
Set rng = Columns(3).Find("Mühe*lag", Cells(1), xlValues, xlPart, MatchCase:=True) 
If Not rng Is Nothing Then 
   firstAddress = rng.Address 
   Do 
      Debug.Print rng.Row 
      Set rng = Columns(3).FindNext(rng) 
   Loop While Not rng Is Nothing And rng.Address <> firstAddress 
End If 
End Sub 

Gruß Ralf
Oder

Code:
Sub M_snb()
  Sheets("Tabelle1").columns(3).autofilter 1, "*Mühe*",1,"*lag*"
End Sub
Hallo,

danke für eure Codeverbesserungsvorschläge. Werde ich mir notieren.

Was mich aber auch gleichzeitig zu einer weiteren Frage drängt.

Wenn ich schon diesen schönen Einzeiler habe:

Sheets("Tabelle1").Columns(3).AutoFilter 1, "*Mühe*", 1, "*lag*"

Wie kriege ich es mittels VBA dann hin, dass die  angzeigten Autofilter - Ergebnisse
unmittelbar auf Tabellenblatt 2 geschrieben werden?
Vielleicht geht so etwas ja auch so schnell. Danke schon mal im voraus.
Moin!
In gefilterten Tabellen werden nur die sichtbaren Zellen kopiert.
Code:
Tabelle6.UsedRange.Copy Tabelle8.Cells(1)
Gruß Ralf
Code:
Sub M_snb()
  with Sheets("Tabelle1").columns(3)
    .autofilter 1, "*Mühe*",1,"*lag*"
    .copy sheets("Tabelle2").cells(1)
    .autofilter
  end with
End Sub
Vielen Dank für eure Mühe.

Mit folgendem Code von Ralf habe ich ein Problem:


Code:
Option Explicit
Sub RPP()
Dim rng As Range, firstAddress As String
Set rng = Columns(1).Find("Mühe*lag", Cells(1), xlValues, xlPart, MatchCase:=True)
If Not rng Is Nothing Then
  firstAddress = rng.Address
  Do
     Debug.Print rng.Row
     Set rng = Columns(1).FindNext(rng)
  Loop While Not rng Is Nothing And rng.Address <> firstAddress
End If
End Sub
Er funktioniert nicht, bzw. macht nichts und läuft glatt durch.
Könntet ihr euch das Ganze bitte nochmal anschauen.
Danke.
Wieso ist es jetzt auf einmal Columns(1)?
Du willst doch in Spalte C  aka Columns(3) suchen?

Gruß Ralf
2 Mahl suchen = Filtern.



Code:
Sub M_snb()
  With Sheets(1).Cells(1).CurrentRegion
      .Cells(1, 3).Resize(3).Offset(, .Columns.Count) = Application.Transpose(Array(.Cells(1, 3), "*Mühe*", "*lag*"))
      .AdvancedFilter 2, .Cells(1, 3).Resize(3).Offset(, .Columns.Count), Sheets(2).Cells(1)
      .Cells(1, 3).Resize(3).Offset(, .Columns.Count).ClearContents
  End With
End Sub
Hallo Ralf,

vergess mal bitte Column(1), meinetwegen können wir gerne bei Column(3) bleiben. Hab das Programm nur etwas an einem anderen Beispiel
"angepasst". Da dein Code für mich ein gutes Beispiel zum Lernen  ist, hätte ich dann doch gerne, dass er auch vollständig funktioniert.
Ich bins nochmal,
ich glaub ich habe den Fehler gefunden:
das "sternzeichen" fehlte:

Set rng = Columns(1).Find("*Mühe*lag*", Cells(1), xlValues, xlPart, MatchCase:=True)
Seiten: 1 2 3