Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
888to892
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
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeiger Schleife

Zeiger Schleife
28.07.2007 12:39:53
Michael
Hallo!
Gibt es eine Möglichkeit bei einer Schleife zu erkennen, in welcher aktuellen Zelle er sich im Excel-Blatt befindet? Eine Schleife soll z.B. 5 mal durchlaufen und jeweils wenn die nächste Zelle aufgerufen wird, diese im Excel-Blatt anzeigen. In der Einzelabfrage mit F8 sind die Schleifen, dann für mich als Anfänger einfacher nach zu vollziehen.
Vielen Dank
activeCell.aktivate funktioniert ja hier nicht?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeiger Schleife
28.07.2007 12:49:00
Daniel
Hi
es gibt viele Möglichkeiten, eine Schleife zu gestalten, wie sieht deine denn aus?
poste mal den Code, den du analysieren und nachvollziehen wilst.
Gruß, Daniel

AW: Zeiger Schleife
28.07.2007 13:18:37
Michael
Hallo! Hier das Listing! Danke!
  • 
    Sub MultiSelect()
    Dim wks As Worksheet
    Dim rngFind As Range, rngRows As Range
    Dim sFind As String, sSearch As String
    sSearch = InputBox("Suchbegriff:", , "test")
    Set rngFind = Cells.Find(sSearch)
    If rngRows Is Nothing Then
    Set rngRows = rngFind
    End If
    If Not rngFind Is Nothing Then
    sFind = rngFind.Address
    Do
    Set rngRows = Application.Union(rngRows, rngFind.EntireRow)
    Set rngFind = Cells.FindNext(After:=rngFind)
    If rngFind.Address = sFind Then Exit Do
    Loop
    End If
    rngRows.Select
    End Sub
    


    ' So sieht die Liste im Tabellenblatt "Tabelle1" aus s.u.
    'A___ B
    'test test
    'test sdjlkf test
    'dsfs sdjlkf test
    'dsfs sdf test
    'test df
    'testen sdf


  • Anzeige
    AW: Zeiger Schleife
    28.07.2007 13:30:28
    Daniel
    Hallo
    wenn du genau mitverfolgen willst, was passiert, kannst du vor jeder Aktion mit einem RANGE-Objekt dieses Range-Objekt mit .SELECT selektieren, dann siehst du im Excel-Fenster genau, welcher Zellbereich in der nächsten verwendet wird.
    wenn du verstanden hast, was passiert, kannst du die Zeilen wieder rausnehmen, weil sie den Code extrem verlangsamen.
    
    Sub MultiSelect()
    Dim wks As Worksheet
    Dim rngFind As Range, rngRows As Range
    Dim sFind As String, sSearch As String
    sSearch = InputBox("Suchbegriff:", , "test")
    Set rngFind = Cells.Find(sSearch)
    rngFind.select
    If rngRows Is Nothing Then
    Set rngRows = rngFind
    End If
    If Not rngFind Is Nothing Then
    sFind = rngFind.Address
    Do
    Set rngRows = Application.Union(rngRows, rngFind.EntireRow)
    rngRows.select
    Set rngFind = Cells.FindNext(After:=rngFind)
      rngFind.select
    If rngFind.Address = sFind Then Exit Do
    Loop
    End If
    rngRows.Select
    End Sub
    


    Gruß, Daniel

    Anzeige
    AW: Zeiger Schleife
    28.07.2007 14:15:00
    Michael
    Hallo!
    Jetzt versteh ich die Schleife nicht mehr! Wenn ich mit F8 es im Einzelschritt durchlaufen lasse. Springt der Curser hin und her?
    Bei dem do loop
    Set rngRows = Application.Union(rngRows, rngFind.EntireRow)
    rngRows.select
    Set rngFind = Cells.FindNext(After:=rngFind)
    ? Nur noch Fragezeichen
    Bei dem Kurzprogramm kann ich es nachvollziehen
    
    Sub schleife()
    Dim s As Integer
    For s = 1 To 20
    Cells(s, 1).Select
    Next s
    End Sub
    


    AW: Zeiger Schleife
    28.07.2007 15:24:00
    Daniel
    Da gibt es nicht viel zu verstehen,
    es wird immer der Zellbereich aktiviert, mit dem die nächste Aktion durchgeführt wird, bzw. der Zellbereich, der gerade zugewiesen wurde.
    wenn es dich stört, nimms wieder raus.
    Gruß, Daniel

    Anzeige
    AW: Zeiger Schleife
    31.07.2007 12:14:00
    Michael
    Danke!

    AW: Zeiger Schleife
    28.07.2007 12:51:00
    Klaus-Dieter
    Hallo Michael,
    Sub schleife()
    Dim s As Integer
    For s = 1 To 20
    Cells(s, 1).Select
    Next s
    End Sub
    Versuche es mal so. Das Selktieren der Zellen macht eine Schleife allerdings langsamer. Aber zum Zweck des lernens geht das mal.
    
    activeCell.aktivate 
    


    Das macht keinen Sinn, weil du da die bereits aktive Zelle noch mal aktivierst. Im übrigen sollte man Select und Activate überhaupt nicht verwenden.
    Viele Grüße Klaus-Dieter

    Online-Excel

    Anzeige
    AW: Zeiger Schleife
    28.07.2007 13:36:00
    Michael
    Hallo!
    Die Schleife kann ich nachvollzeihen. Danke
    Das klappt aber nicht bei dem u. A. Listing?
    Danke
  • 
    Sub MultiSelect()
    Dim wks As Worksheet
    Dim rngFind As Range, rngRows As Range
    Dim sFind As String, sSearch As String
    sSearch = InputBox("Suchbegriff:", , "test")
    Set rngFind = Cells.Find(sSearch)
    If rngRows Is Nothing Then
    Set rngRows = rngFind
    End If
    If Not rngFind Is Nothing Then
    sFind = rngFind.Address
    Do
    Set rngRows = Application.Union(rngRows, rngFind.EntireRow)
    Set rngFind = Cells.FindNext(After:=rngFind)
    If rngFind.Address = sFind Then Exit Do
    Loop
    End If
    rngRows.Select
    End Sub
    


    ' So sieht die Liste im Tabellenblatt "Tabelle1" aus s.u.
    'A___ B
    'test test
    'test sdjlkf test
    'dsfs sdjlkf test
    'dsfs sdf test
    'test df
    'testen sdf


  • Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige