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 um 23:34 Uhr.

  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.
     
  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
     
    1 Person gefällt das.
  3. ralf_b User
    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 User

    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 *:)*
     
    1 Person gefällt das.
  6. ralf_b User
    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.
     
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. Excel VBA Code

    in Microsoft Excel Hilfe
    Excel VBA Code: Hallo Vielleicht kann mir hierbei wer helfen? Warum funktioniert der Code nicht? Der IF-Codeteile mit "F", "iA" und "O" funktionieren. Aber wenn ich im userform den Teil mit "TF" aufrufe...
  3. Excel VBA Quellcode einer Nessus-Datei durchsuchen

    in Microsoft Excel Hilfe
    Excel VBA Quellcode einer Nessus-Datei durchsuchen: Hallo, ich möchte einen VBA-Code erstellen, mit dem der Quellcode einer Nessus-Datei (im selben Ordner wie die Excel) auf Stichwörter durchsucht werden kann. Man kann ja diesen Quellcode lesen,...
  4. VBA - Excel Tabelle in PPT durch Doppelklick in Excel öffnen

    in Microsoft PowerPoint Hilfe
    VBA - Excel Tabelle in PPT durch Doppelklick in Excel öffnen: Hallo, ich habe folgendes Problem und hoffe es kann mir vielleicht jemand weiterhelfen. Ich habe eine PPT Präsentation mit einer Excel Tabelle (keine normale Tabelle). Die Excel Tabelle ist...
  5. Excel Filter bei VBA berücksichtigen

    in Microsoft Excel Hilfe
    Excel Filter bei VBA berücksichtigen: Hallo zusammen, ich glaube, ich habe ein kniffligeres Problem. Gerne auch neue Ansätze. Ich versuchs kurz und präzise. Der Anwender kreuzt in Spalte F("Auswahl") an, welche Nummern er aus Spalte...
  6. Aus Excel heraus verschiedene IP Adressen anpingen mit VBA

    in Microsoft Excel Hilfe
    Aus Excel heraus verschiedene IP Adressen anpingen mit VBA: Hallo zusammen. Vorweg: VBA kenn ich mich null aus! :-( Mein Ziel erst einmal: In einer Tabelle stehen in der Spalte C von 8 bis 21 verschiedene IP-Adressen. Per Klick auf einen Button soll dann...
  7. Excel VBA - ListBox mit TextBox Filtern

    in Microsoft Excel Hilfe
    Excel VBA - ListBox mit TextBox Filtern: Grüße! Bin sonst stiller Mitleser und kann im Regelfall meine Probleme durch andere Forenbeiträge ableiten und passend abändern, aber hier bin ich an einem Punkt, wo meine VBA-Kenntnisse auf ihre...
  8. VBA-Macros in Excel 2019 unter Windows 11

    in Microsoft Excel Hilfe
    VBA-Macros in Excel 2019 unter Windows 11: Ich habe in Excel 2019 (Office Pro 2019) unter Windows 10 Pro ein VBA-Makro erstellt. Diese Arbeitsmappe läuft auf verschiedenen Systemen unter Excel 2019/Windows10 ohne Probleme. Jetzt habe ich...
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