Ich habe eine Function Myisnumeric die ich gerne in mehreren Arbeitsmappen aa.xls, bb.xls cc.xls.... verwenden würde.
Ich will also nicht jedes Mal z.B. Modul1 in irgendwelche Arbeitsmappen kopieren und hohe Datenredundanz bekommen.
Durch Büchertips wurde mir gesagt dass man diese Funktion Myisnumeric als Modul in die Personl.xls bringen kann, und auch eine Personl.xls erstellen kann.
Dies habe ich gemacht, und auch dort das Modul, die die Function Myisnumeric enthält, reinkopiert.
Ich glaube alles rechtens gemacht zu haben, habe mich streng ans Buch gehalten.
Wenn ich nun meine aa.xls aufmache, die die Function Myisnumeric enthält, geht automatisch auch Personl.xls im Hintergrund auf. Alles klar bis jetzt.
In Personl.xls steht: (Modul1)
Option Explicit
Function MyIsNumeric(strEingabe As String) As String
Dim bytkomma As Byte, i As Byte
Dim strhelp As String, char As String
For i = 1 To Len(strEingabe)
char = Mid$(strEingabe, i, 1)
If char = "." Then
MsgBox "Die Eingabe von Punkten ist nicht zulässig"
MyIsNumeric = ""
..........................usw.
In aa.xls steht u.a. eine Userforms mit Ereignissen die 2 wichtigsten hier:
Public Sub cmdfahrok_Click() -> das ist nur das Ereignis Click des OK-Button, dort wird Myisnumeric nicht gerufen
Dim ezahl As Single
If txtfahrcels.Value <> "" Then
ezahl = CSng(txtfahrcels.Value) ' wandelt einen Ausdruck in einen Singlewert um
Else
MsgBox "Bitte eine Zahl eingeben"
txtfahrcels.SetFocus
Exit Sub
End If
ezahl = Celsius(ezahl)
....................................usw
Private Sub txtfahrcels_Change() -> das ist die einzige Textbox wo ein Wert eingegeben wird (kann alles sein)
Hier wird Myisnumeric gerufen
If txtfahrcels.Value = "" Then Exit Sub ' vorsichtshalber, wird
' aber scheinbar hier nicht berührt (da keine Eingabe Change nicht auslöst)
' wenn dann der OK-Button gedrückt wird, löst das dessen Ereignis Click aus
' was über txtfahrcels.Value = "" abgefangen wird
If cmdfahrok.Enabled = False Then Exit Sub ' ganz am Ende wenn Celsius in die Textbox gebracht wird,
' hat man eben auch ein Ereignis Change für die Textbox. Das fängt man hier ab
txtfahrcels.Value = MyIsNumeric(txtfahrcels.Value)
End Sub
Hier versuche ich VBA zu sagen hole mir die Myisnumeric aus der Personl.xls.
Aber VBA kommt nicht klar, und sagt Sub oder Function nicht definiert
Also scheine ich mich VBA gegenüber nicht genügend genau ausgedrückt zu haben.
Aber wie heißt um alles in der Welt denn dann der Befehl der die Myisnumeric
der Personl.xls aufruft ?
Vielleicht kann mir jemand einen Tip geben.
Mit freundlichen Grüßen
Heinz
PS: Selbstverständlich läuft das VBA-Pgm wenn ich Myisnumeric in aa.xls habe, aber das ist ein
schwacher Trost für mich