funktion entgültig beenden

Dieses Thema funktion entgültig beenden im Forum "Microsoft Office Suite" wurde erstellt von Billy, 12. Apr. 2005.

Thema: funktion entgültig beenden hi all mal ne kleine frage gibst nen Befehl der mir eine funktion endgültig beendet? beispiel if x >=...

  1. hi all

    mal ne kleine frage

    gibst nen Befehl der mir eine funktion endgültig beendet?

    beispiel

    Code:
    if x >= spalte_total Then
    msgbox (ERROR!)
    {nichts mehr machen aber noch auf dem Tabellenblatt bleiben }
    end if
    so etwas

    mfg billy / fire-x
     
  2. Hi billy,

    folgend Abbrüche sind die gebräulichsten:
    Code:
    Sub Test1()
      Dim x As Long
      For x = 1 To 10
        If x = 7 Then
          MsgBox (Die Subroutine wird jetzt verlassen !)
          Exit Sub
        End If
      Next
    End Sub
    
    Function Test2()
      Dim x As Long
      For x = 1 To 10
        If x = 7 Then
          MsgBox (Die Function wird jetzt verlassen !)
          Exit Function
        End If
      Next
    End Function
    
    Function Test3()
      Dim x As Long
      For x = 1 To 10
        If x = 7 Then
          MsgBox (Die For-Schleife wird jetzt verlassen !)
          Exit For
        End If
      Next
    End Function
    
    Function Test4()
      Dim x As Long
      Do
        If x = 7 Then
          MsgBox (Die Do-Schleife wird jetzt verlassen !)
          Exit Do
        End If
        x = x + 1
      Loop
    End Function
    Gruß Matjes  :)
     
  3. interessant

    also kann ich anstatt for auch loop benutzen?

    wo ist der hacken? *gg*
     
  4. In der For-Schleife werden Anfangs-, Endparameter und Schrittweite von vornherein gesetzt.

    In der Do-Schleife mußt du selbst dafür sorgen.

    Die Gefahr in der Do-Schleife eine Endlosschleife zu produzieren ist groß !

    Gruß Matjes :)
     
  5. ja das risiko gehe ich gerne ein ^^

    weil eine for schlaufe kann ich ja nicht einfach so beenden oder? :'(
     
  6. Doch, siehe Function Test3 ;)
     
  7. hm

    ich denke mal ich hab das Problem soweit unter kontrolle sonst melde ich morgen nochmals :)

    ich hab noch ein ander Problem auch basierend auf das.

    ich ne call funktion auf nem worksheet

    diese öffnet eine funktion und die widerum in sich selber eine neue call aufruft... (hoffe verstehst was ich meine)

    nun wie kann ich verhindern dass die 2. call funktion mehrmals aufgerufen wird?

    kann man das überhaupt?
     
  8. Ich glaub ich ahne was Du meinst  ;D

    Mach einen neuen Thread auf mit einem kleinen Beispiel (nur die Funktions-Rümpfe). So ist das etwas in blauem Dunst.

    Gruß Matjes :)
     
  9. mach ich

    aber erst morgen wenn ich im geschäft bin =)
     
  10. oke

    ich hab jetzt eine Funktion gemacht die macht soweit das was ich mach blos das mit dem beenden geht nicht =(

    steht was von wegen Kompilierungsfehler

    Code:
    Code:
    Option Explicit
    Function mark_fuehrer(ws As Worksheet, s_fkurz, s_fname, anfang_spalte, ende_spalte, _
                          anfang_zeile, ende_zeile, fuehrer_zeile)
    'MsgBox (mark_fuehrer)
    Dim Zelle As Range, Bereich As String, columns As Long
    Bereich = anfang_spalte & anfang_zeile & : & ende_spalte & ende_zeile
    
    columns = ws.Range(Bereich).columns.Count - 1
    
    Dim x As Long, y As Long, fuehrer As Long, fuehrer_spalte As String, fmsg_spalte As Long
    fuehrer = 0
    
    For x = 2 To columns
     For y = anfang_zeile To ende_zeile
      If Cells(y, x) = s_fkurz Then
       fuehrer = fuehrer + 1
       If fuehrer >= 2 Then
        fuehrer_spalte = fuehrer_spalte & ,  & Cells(y, x).Address(rowabsolute:=False, Columnabsolute:=False)
       Else
        fuehrer_spalte = Cells(y, x).Address(rowabsolute:=False, Columnabsolute:=False)
       End If
      End If
     Next
     
    ->MsgBox (s_fkurz &  <-- Bezeichnung Führer || fuehrer=  & fuehrer &  <->  & fmsg_spalte &  .  & x)
     
     If fuehrer >= 2 And x > fmsg_spalte Then
      MsgBox (Der Führer  & s_fname &  kommt in den Zeilen: & vbLf & fuehrer_spalte & vbLf & vor. Bitte Ändern!)
      fmsg_spalte = x
      Application.EnableEvents = False
      Cells(fuehrer_zeile, x).Value = 
      Application.EnableEvents = True
      fmsg_spalte = x
      End Function
     End If
     
     fuehrer = 0
     fuehrer_spalte = !
    Next
    
    End Function
    
     
Die Seite wird geladen...

funktion entgültig beenden - Ähnliche Themen

Forum Datum
Open Office Datei direkt versenden funktioniert nicht .... Windows 10 Forum 31. Okt. 2016
HDD funktioniert nicht. Windows 10 Forum 30. Sep. 2016
Tastatur funktioniert nicht richtig - aber nur beim Login Hardware 23. Sep. 2016
WLan funktioniert erst beim zweiten Start des Notebooks Windows 10 Forum 28. Aug. 2016
Windows Update 10 funktioniert nicht Windows 10 Forum 9. Juni 2016