Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Werkzeug
BildScreenshot zu Werkzeug Werkzeug-Seite mit Beispielarbeitsmappe aufrufen

Nicht aktuelle Ausgabe einer Function

Betrifft: Nicht aktuelle Ausgabe einer Function von: Hermann
Geschrieben am: 24.08.2004 18:15:04

Hallo Excelfreunde,
ich bitte um eure Hilfe.
In VBA habe ich eine kleine "Public Function Werkzeug() As String" (in Modul4) geschrieben. Diese Funktion rufe ich innerhalb einer Datei, jedoch z.B. in 3 Tabellenblättern gleichzeitig auf. Theoretisch sollte jeder Aufruf einen anderen Wert ausgeben (mein Wunsch), weil die Blätter unterschiedliche Daten enthalten.

Markiere ich alle 3 Blätter gleichzeitig und löse die Zelle mit der Funktion aus, so steht überall der gleiche Wert. Löse ich jede Zelle einzeln aus, so steht überall der richtige Wert drinn.

Was mache ich falsch?

Vielen Dank für die Hilfe

Gruß Hermann

  


Betrifft: AW: Nicht aktuelle Ausgabe einer Function von: Ramses
Geschrieben am: 24.08.2004 19:17:55

Hallo

zeig doch mal die Funktion.
Wir sind keine Hellseher und die Glaskugel hat schon Feierabend :-)

Gruss Rainer


  


Betrifft: AW: Nicht aktuelle Ausgabe einer Function von: Hermann
Geschrieben am: 28.08.2004 14:30:20

Hallo Rainer,
ich danke für Deine propte Antwort. Leider konnte ich nicht umgehend Antwortet, da ich 2 Tage außer Haus war. Würde mich sehr freuen, wenn Du mir behilflich bist. im Folgenden die problem-Function:

Function Werkzeug() As String
Dim koststplatz As String, wkz As String
' Alle Fremdarbeitsgänge in den String "Werkzeug"
Werkzeug = ""
For a = 4 To 100
    If is_kostst(Cells(a, 1).Value) Then
        koststplatz = Cells(a, 1).Value
    If platz(koststplatz) = 0 And is_kostst(Cells(a, 1).Value) And Cells(a, 9).Value > 0 Then
        wkz = Cells(a, 2).Value
        If InStr(wkz, "Stempel") > 0 Then wkz = Left$(wkz, InStr(wkz, "Stempel") - 1)
        Werkzeug = Werkzeug + " + " + wkz
       
    End If
    End If
    If Cells(a, 1).Value = "Summe Einmalkosten" Then a = 100
Next a
End Function



und die Unterfunktionen (sind aber unwichtig):

Public
Function is_kostst(wert As String) As Boolean
is_kostst = False
If InStr(wert, "/") > 0 And Right$(wert, 1) <> "/" Then is_kostst = True
End Function


Public
Function kostst(wert As String) As String
If InStr(wert, "/") > 0 Then
    kostst = Left$(wert, InStr(wert, "/") - 1)
Else
    kostst = wert
End If
End Function


Public
Function platz(wert As String) As String
If InStr(wert, "/") > 0 Then
    platz = Mid$(wert, InStr(wert, "/") + 1)
Else
    platz = 0
End If
End Function


Vielen Dank für Deine Mühe

Gruß Hermann


  


Betrifft: AW: Nicht aktuelle Ausgabe einer Function von: Ulf
Geschrieben am: 24.08.2004 20:07:40

Was erwartest du von einer Funktion ohne Parameter?

Ulf


 

Beiträge aus den Excel-Beispielen zum Thema "Nicht aktuelle Ausgabe einer Function"