Call Sub

    Bild

    Betrifft: Call Sub
    von: Rafael
    Geschrieben am: 28.10.2003 15:01:13

    Hallo Boardgemeinde,

    ich versuche aus dem Code eines Tabellenblattes einen anderen Code mit "Call MainCode(Pad, i)" aufzurufen (kein Aufruf eines Sub innerhalb des gleichen Codes). Dabei erhalte ich die Fehlermeldung "Sub oder Function nicht definiert".

    Auch die VBA-Hilfeanweisung bringt mich hier nicht weiter, denn: Name der Sub-Prozedur ist richtig geschrieben, Sub-Prozedur ist Teil des gleichen Projekts und auch nicht als Private Sub deklariert.

    Hat von Euch einer einen Tip?

    Vielen Dank

    Rafael

    Bild


    Betrifft: Wo ist der Code?!
    von: Michael Scheffler
    Geschrieben am: 28.10.2003 15:05:54




    Bild


    Betrifft: Hallo Michael, ...
    von: Rafael
    Geschrieben am: 28.10.2003 15:19:30

    ... der Code, an dessen Ende der MainCode aufgerufen werden soll, ist mit Sub Worksheet_Calculate einem Sheet zugeordnet (etwa 100 Sheets in der Form insgesamt - Tabelle 2 bis 100).
    Mit "Call MainCode(Pad, i)" soll nun (nachdem der jeweilige Code durch Änderung des Sheetinhalts aktiviert wird) der Hauptcode aufgerufen werden; und der ist Tabelle 1 im gleichen Project zugeordnet (als Code in einem Modul des gleichen Projekts gab's ebenfalls eine Fehlermeldung).

    Gruss Rafael


    Bild


    Betrifft: Ich glaube, Michael wollte den Code sehen ;-)
    von: Carsten
    Geschrieben am: 28.10.2003 15:25:22




    Bild


    Betrifft: Ach so ....
    von: Rafael
    Geschrieben am: 28.10.2003 15:36:40

    hier isser ....

    B.p. Tabelle 20

    
    Private Sub Worksheet_Calculate()
    Dim Pad As String
    Dim i As Long
    Application.ScreenUpdating = False
    On Error Resume Next
    Set TabCodeName = ThisWorkbook.ActiveSheet.CodeName
    i = Mid(TabCodeName, 8)
    Call Hauptcode(Pad, i)
    End Sub
    



    Tabelle 1

    Sub Hauptcode(Pad, i)
    Dim Pad As String
    Dim i As Long
    Application.ScreenUpdating = False
    On Error Resume Next
    If Sheets(i).Cells(2, 5) > 0 And IsNumeric(Sheets(i).Cells(2, 5)) Then
    Pad = Pad + "X"
    End If
    If Sheets(i).Cells(2, 15) > 0 And IsNumeric(Sheets(i).Cells(2, 15)) Then
    Pad = Pad + "M"
    End If
    If Pad = "" Then
    Exit Sub
    End If

    ......


    End Sub



    Bild


    Betrifft: AW: Ach so ....
    von: Michael Scheffler
    Geschrieben am: 28.10.2003 15:43:51

    Hmm dacht ichs doch!

    Füge eine Modul eine und schreibe dort Dein HauptCode ein.

    Gruß

    Micha


    Bild


    Betrifft: Hatte ich auch schon versucht ....
    von: Rafael
    Geschrieben am: 28.10.2003 15:52:46

    .... und hier bekam ich immer die Fehlermeldung: "Variable oder Prozedur anstelle eines Moduls erwartet" ......

    oha, stimmt, hier in der VBA-Hilfe steht was von Modul-Name darf nicht Sub-Name sein. Und in der Tat, ich komme schon mal ohne Fehlermeldung in den Hauptcode!

    Klasse, merci vielmals!!

    Rafael



     Bild

    Beiträge aus den Excel-Beispielen zum Thema " Verweise"