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 User
    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 User
    @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: Bestimmte Zellen von einer Excel Datei in die andere (nach Bedienungen)

    in Microsoft Excel Hilfe
    VBA: Bestimmte Zellen von einer Excel Datei in die andere (nach Bedienungen): Guten Morgen zusammen, ich hab gesehen wie hilfreich dieser Forum sein kann und das hier sehr viel Expertise vorhanden ist die mir in meinem Fall weiterhelfen kann. Ich habe folgendes Problem:...
  3. Hilfe

    in Microsoft Excel Hilfe
    Hilfe: Liebe Alle, ich bin ganz neu in diesem Forum und bräuchte Hilfe zu einem Excel Projekt. Ich möchte (siehe Bild 1) das die Felder die dort ausgefüllt werden automatisch in Bild 2 übertragen in...
  4. Link per VBA in Excel als Desktopversion starten

    in Microsoft Excel Hilfe
    Link per VBA in Excel als Desktopversion starten: Hallo zusammen, ich hoffe Ihr könnt mir evtl. weiterhelfen?! Ich habe eine XL Datei in Teams die ich mit anderen Teile. Diese ist per Teams auch so eingestellt, dass die Datei automatisch in XL...
  5. Excel VBA Codes Pivot-Aktualisierung, Kommentare, etc.

    in Microsoft Excel Hilfe
    Excel VBA Codes Pivot-Aktualisierung, Kommentare, etc.: Hallo liebe Office-Hilfe Mitglieder, ich bin seit kurzem hier neu registriert und hätte eine (für mich als absolutem Laien in Sachen VBA) Problemstellung, bei der mir hoffentlich jemand von Euch...
  6. Excel VBA Userform Daten aus Tabelle Auslesen "sverweis"

    in Microsoft Excel Hilfe
    Excel VBA Userform Daten aus Tabelle Auslesen "sverweis": Hallo zusammen, ich lerne umständlich ein wenig VBA. Ich benötige mal einen Code von einem Profi, der mir Anregungen gibt zum Üben und Probieren. Eine Tabelle hat in Spalte A eindeutige numerische...
  7. VBA Daten in Array durch inputbox befüllen lassen

    in Microsoft Excel Hilfe
    VBA Daten in Array durch inputbox befüllen lassen: Hi zusammen, Ich hab mal wieder eine Excel VBA Frage. Kurz zur Erklärung: Ich erhalte von einem Kunden eine Datei mit wiederum seinen Kunden, die ein bestimmtes Produkt gekauft haben(den Sinn...
  8. Schließen von mehreren Datein

    in Microsoft Excel Hilfe
    Schließen von mehreren Datein: Hallo Zusammen! Ich bin gerade dabei via VBA einen Code zu erstellen um beim öffnen eines Excel (MainDatei) immer ein weiteres (zweite Datei) zu öffnen. Sowie beim schließen der "MainDatei" ein...
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