Office: Excel VBA Exit aus der Schleife verhindern

Helfe beim Thema Excel VBA Exit aus der Schleife verhindern in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich denke, ich habe ein tatsächlich einfaches Problem. Komme aber nicht auf die Lösung. In dieser Schleife x bis 507 wird eine Funktion... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von jokersh, 14. Januar 2022.

  1. jokersh Neuer User

    Excel VBA Exit aus der Schleife verhindern


    Hallo, ich denke, ich habe ein tatsächlich einfaches Problem. Komme aber nicht auf die Lösung. In dieser Schleife x bis 507 wird eine Funktion aufgerufen, die in einer anderen Liste einen Namen sucht. Einmal wird die Funktion aufgerufen und x hat sofort den Wert 508. Ob mir jemand sagen könnte, wie VBA dazu bewegt werden kann, diesen Wert beim aktuellen zu belassen und nur auf x = x + 1 zu reagieren. Ich wäre wirklich dankbar.

    Sub AusgeschiedeneSpielerMarkieren()
    Dim x As Integer
    Dim Suchname As String
    Dim Feldname As String

    For x = 4 To 507
    Suchname = Cells(x, 2).Value 'was wir suchen wollen, wird festgelegt

    If NameInMitgliederGefunden(x, Suchname) = 0 Then
    Feldname = CStr(x)
    Feldname = "C" + Feldname
    Range(Feldname).Interior.Color = RGB(215, 234, 45)
    End If

    Next x
    'MsgBox (x) 'hier wird nach der ersten Abfrage das Ende angezeigt
    Range("A1").Select
    End Sub

    ______________________________________________________________
    Function NameInMitgliederGefunden(ii As Integer, Name As String) As Integer
    NameInMitgliederGefunden = 0
    For ii = 4 To 507
    If Cells(ii, 15).Value = Name Then
    NameInMitgliederGefunden = 1
    ii = 507
    End If
    Next ii
    End Function

    Deaktiviere ich diese Schleife, läuft alles. Aber ich will ja die ganze Liste durchsuchen. Und der Zähler hat ja mit der ersten Schleife gar nichts zu tun.
     
    jokersh, 14. Januar 2022
    #1
  2. Wolff68
    Wolff68 hat Ahnung
    Hallo,
    Wenn Du kein ByVal schreibst, übergibst Du einen Verweis auf X an die Funktion NameInMitgliederGefunden. (ByRef ist der Standard)
    Auch wenn Du die Variable dort ii nennst, ist es doch die gleiche Speicherstelle.

    Soll ii unabhängig von x sein musst Du ein ByVal davor schreiben:
    Code:
    Function NameInMitgliederGefunden(ByVal ii As Integer, Name As String) As Integer
     
    Wolff68, 15. Januar 2022
    #2
    1 Person gefällt das.
  3. ralf_b hat Ahnung
    weiterhin überschreibst du dir "ii" mit 4 somit hat der übergebene Wert von ii überhaupt keinen Einfluss.
    Function NameInMitgliederGefunden(ii As Integer, Name As String) As Integer
    For ii = 4 To 507

    um eine for-Schleife abzubrechen, schreibt man "exit for". ii = 507 kannst du da weglassen. Es führt nämlich zu dem von dir unerklärlichen Ergebnis. Die for-Schleife zählt noch einmal hoch und ii = 508 ist größer als 507. Schleife wird beendet.
     
    1 Person gefällt das.
  4. ralf_b hat Ahnung

    Excel VBA Exit aus der Schleife verhindern

    update
    du könntest auch nur dieses Konstrukt versuchen
    Sub AusgeschiedeneSpielerMarkieren()
    Dim x As Long, y As Long
    Dim Suchname As String

    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
    For x = 4 To 507

    Suchname = Cells(x, 2).Value 'was wir suchen wollen, wird festgelegt

    For y = 4 To 507
    If Cells(y, 15).Value = Suchname Then
    Range("C" & y).Interior.Color = RGB(215, 234, 45)
    Exit For
    End If
    Next y

    Next x
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic

    MsgBox "Suchlauf beendet" 'hier wird nach der ersten Abfrage das Ende angezeigt
    Range("A1").Select
    End Sub
     
    1 Person gefällt das.
  5. Wolff68
    Wolff68 hat Ahnung
    @ralf_b: Hatte mir auch überlegt weitere Punkte aufzulisten. Der Code macht in vielen Bereichen wenig Sinn.
    Einen Range-Bezeichner so aufzubauen, wenn man .Cells(row,col) offensichtlich kennt.
    Rückgabewert der Funktion als Integer, wenn sie nur Wahr oder Falsch zurückgibt.
    usw.

    Aber wir haben alle mal angefangen und haben im lauf der Zeit aus Fehlern gelernt. Excel VBA Exit aus der Schleife verhindern *:)*
     
    Wolff68, 15. Januar 2022
    #5
    1 Person gefällt das.
  6. ralf_b hat Ahnung
    Deshalb habe ich auch versucht verständlich zu erklären was ich festgestellt habe. Und ich weis wie übel es ist wenn man mangels Kenntnissen versucht aus diesem Objektdschungel was Brauchbares heraus zu bekommen. Mittlerweile geht's bei mir bissel besser.
     
    1 Person gefällt das.
  7. jokersh Neuer User
    Vielen Dank für die Hilfen. Ich setze das gern um. Und: tatsächlich hab ich nicht gesehen (die Bäume vor dem Wald), dass der Übergabeparameter ii mit [ for ii = 4 to 507 ] obsolet ist. Ich schüttele gerade meinen eigenen Kopf, Dank nochmals.
     
    jokersh, 15. Januar 2022
    #7
Thema:

Excel VBA Exit aus der Schleife verhindern

Die Seite wird geladen...
  1. Excel VBA Exit aus der Schleife verhindern - Similar Threads - Excel VBA Exit

  2. VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.

    in Microsoft Excel Hilfe
    VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.: Hallo zusammen, Eine Tabelle mit 9 Worksheets, Datenblatt, Studien, Studie_1 ...Studie_7. Auf dem Deckblatt werden in Zelle B4-B10 die Namen der Studien eingetragen. Davon abhängig ob ein Name...
  3. Excel VBA Spalten mit Ordnerinhalt vergleichen

    in Microsoft Excel Hilfe
    Excel VBA Spalten mit Ordnerinhalt vergleichen: Hallo, Bin ehr Excel VBA Neuling, Würde aber gerne in einer bestehender Tabelle die Auflistung der Ordner mit dem eigentlichen Stand in den besagten Ordner kontrollieren. Also in der Spalte Q10...
  4. Array aus Excel Tabelle einlesen Word VBA

    in Microsoft Excel Hilfe
    Array aus Excel Tabelle einlesen Word VBA: Hallo, ich benötige in einer Word Datei die Werte einer Excel Datei. Ich würde gerne eine Spalte als Array einlesen. Wie das Array ein lesen in Excel geht weiß ich, aber wie schaffe ich den...
  5. Dynamische Tabellen mit automatischer Aktualisierung

    in Microsoft Excel Hilfe
    Dynamische Tabellen mit automatischer Aktualisierung: Hallo in die Runde! Vorab schon mal vielen Dank für alle Mühen und die Hilfe! Ich habe folgendes Anliegen: Ich habe eine Geräteliste als Excel Datei mit einigen verschiedenen Tabellenblättern...
  6. (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?

    in Microsoft Excel Hilfe
    (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?: Liebe Experten, Gefilterte Daten sollen in ein Listobject übertragen werden. Für das Listobject habe ich ein Template angelegt, dass alle Formatierungen (u.a. bedingte Formatierung etc.) enthält....
  7. Speichern mit dem Titel der Zelle A2

    in Microsoft Excel Hilfe
    Speichern mit dem Titel der Zelle A2: Moin moin, Ich habe per Makro einen Arbeitsablauf aufgezeichnet der soweit auch funktioniert. Dieser Endet jedoch im "Speichern Unter" Fenster, welches durch das Klicken von "Drucken als PDF"...
  8. Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.)

    in Microsoft Excel Hilfe
    Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.): Hallo, ich benötige Hilfe für ein Problem, welches ich leider selbst schwerlich als Anfänger nicht lösen kann: Ich möchte von dem Tabellenblatt "Tabelle1" aus den Zellen B8:B14, K8:K14, B18:B25,...
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden