Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
328to332
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Call Sub

Call Sub
28.10.2003 15:01:13
Rafael
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

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Wo ist der Code?!
28.10.2003 15:05:54
Michael Scheffler
Hallo Michael, ...
28.10.2003 15:19:30
Rafael
... 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
Ich glaube, Michael wollte den Code sehen ;-)
28.10.2003 15:25:22
Carsten
Ach so ....
28.10.2003 15:36:40
Rafael
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

Anzeige
AW: Ach so ....
28.10.2003 15:43:51
Michael Scheffler
Hmm dacht ichs doch!

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

Gruß

Micha
Hatte ich auch schon versucht ....
28.10.2003 15:52:46
Rafael
.... 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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige