Office: Funktion aufrufen

Helfe beim Thema Funktion aufrufen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Guten Morgen, ich habe ein ganz doofes Problem. Ich habe eine Funktion geschrieben, die nix berechnet sondern mir nur an vielen Stellen im Skript... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von User, 29. November 2003.

  1. Funktion aufrufen


    Guten Morgen,

    ich habe ein ganz doofes Problem.
    Ich habe eine Funktion geschrieben, die nix berechnet sondern mir nur an vielen Stellen im Skript schreibarbeit abnehmen soll.
    Beispiel:
    Public Function Neu()
    Sheets("Tabelle3").Select
    ActiveWindow.SelectedSheets.Delete
    Sheets("Tabelle2").Select
    ActiveWindow.SelectedSheets.Delete
    End Function

    Nun will ich nach generierung einer neuen Datei diese Funktion ausführen.
    Problem: Bei Aufruf mit Neu() kommt eine Fehlermeldung
    "Fehler beim Kompilieren. Erwartet: =" *bawling

    Hoffe mir kann jemand helfen

    Gruß Jens

    :)
     
  2. moin,

    wegen Montag-Morgen-Dummrumgeseier- Gelöscht :-)


    Gruss eggzess
     
  3. Moin,


    @eggzess:
    Sowohl Funktionen als auch Makros werden durch das Klammerpaar als ausführbare Aktionen gekennzeichnet - datt war nix... So, und nun bin ich scheinabr aufgewacht und habe (endlich?) verstanden, was Du meinst - logisch.

    @Jens:
    Wenn Du die Funktion aufrufst, macht sie bei mir doch das, was sie soll - aber warum eine Funktion und keine Sub verstehe ich nicht...

    Edit: Warum aber nicht einfach unter EXTRAS / OPTIONEN / Reiter ALLGEMEIN die Anzahl der Blätter verringern?
     
  4. Funktion aufrufen

    Hallo noch mal.
    Auch wenn man so was eigendlich nicht macht, aber bei mir funzt des immer noch net:

    Sub Speichern()

    Public Function Neu()
    Sheets("Tabelle3").Select
    ActiveWindow.SelectedSheets.Delete
    Sheets("Tabelle2").Select
    ActiveWindow.SelectedSheets.Delete
    End Function

    Blatt = 1
    b = 1

    Windows("Mahnliste.xls").Activate
    Sheets("Hilfeblatt").Select
    Range("A2").Select

    Do While b = 1
    Windows("Mahnliste.xls").Activate
    Sheets("Hilfeblatt").Select
    If IsEmpty(ActiveCell) Then
    b = 0
    End If
    Blatt = ActiveCell
    ActiveCell.Delete
    Select Case Blatt
    ' Hier folgt eine Funktion, welche in einer gerade erzeugten Datei die Tabllenblätter 2 und 3 löscht
    Public Function Neu()
    Sheets("Tabelle3").Select
    ActiveWindow.SelectedSheets.Delete
    Sheets("Tabelle2").Select
    ActiveWindow.SelectedSheets.Delete
    End Function
    Case 4001
    If Dir("Pfad+Datei") = "Datei" Then
    ' Datei vorhanden
    Else
    ' Datei nicht vorhanden
    Workbooks.Add
    ActiveWorkbook.SaveAs Filename:= _
    "Pfad+Datei", _
    FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False
    Neu() *bawling

    End If
    Windows("Mahnliste.xls").Activate
    Sheets("04001").Select
    Sheets("04001").Move After:=Workbooks("Leitung.xls").Sheets(1)
    ActiveWorkbook.Save
    Case *viele weitere*
    Case Else
    End Select
    Windows("Mahnliste.xls").Activate
    Loop

    End Sub

    Was hab ich verbockt?
    Please help!!!

    Gruß Jens
     
  5. Moin, Jens,

    eine Funktion oder eine andere Sub darf nicht innerhalb einer anderen Prozedur definiert werden - alles schön für sich alleine. Für Funktionen galt außerdem AFAIR der Grundsatz, dass sich diese in allgemeinen Modulen zu befinden hätten. Also bitte die Prozeduren einzeln aufschreiben - udn vielleicht ein wenig den Code bearbeiten (nichts gegen den Makrorekorder - aber mir ist der einfach zu unflexibel).
     
  6. Dankeschön!

    Des kommt davon, wenn man sonst nur C++ programmiert (Da geht so was nämlich).

    Gruß Jens

    P.S. Makrorekorder is ganz schön, wenn man nen Befehl such und den nicht findet. Makro aufnehmen -> Befehl rauskopieren und in eigenes Skript einfügen -> Fertig *angel
     
  7. Moin, Jens,

    die "lästige" Meldung könnte man dann per
    Application.DisplayAlerts = False
    vor den Löschanweisungen und unbedingt mit dem Zusatz True direkt hinterher ausschalten. Bitte beachten, sonst gibt es von Excel keine Hinweise mehr...

    Trotzdem bleibt für mich die Frage, warum Du zuerst eine Mappe mit 3 Blättern anlegst, wenn Du nur eines möchtest.
    Code:
    sollte es doch auch tun, um eine Mappe mit einer Tabelle anzulegen...

    @eggzess:
    Sorry, ich sollte wohl erst einmal frühstücken, bevor ich Fragen beantworte - nun ist auch das nicht mehr gültige Zahlungsmittel bei mir gefallen.
     
  8. Funktion aufrufen

    Hallo.
    Also doch noch mal *frown.gif* !
    Leider funzt des immer noch gar überhaupt net.
    Schon beim versuch zu kompilieren von MS Visual Basic kommt die Fehlermeldung *mad.gif*
    Ich hab auch versucht die Funktion zu nem eigenen Sub zu machen und durch Neu() aufzurufen.
    Hier nun noch mal der Code:

    Sub Speichern()

    Blatt = 1
    b = 1

    Windows("Mahnliste.xls").Activate
    Sheets("Hilfeblatt").Select
    Range("A2").Select

    Do While b = 1
    Windows("Mahnliste.xls").Activate
    Sheets("Hilfeblatt").Select
    If IsEmpty(ActiveCell) Then
    b = 0
    End If
    Blatt = ActiveCell
    ActiveCell.Delete
    Select Case Blatt

    Case 4001
    If Dir("Pfad+Datei") = "Datei" Then
    Else
    Workbooks.Add
    ActiveWorkbook.SaveAs Filename:= _
    "O:\CONTROL\IST_BERI\2003\Mahnwesen\aktueller Monat\Leitung.xls", _
    FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False
    Neu() *bawling

    End If
    Windows("Mahnliste.xls").Activate
    Sheets("04001").Select
    Sheets("04001").Move After:=Workbooks("Leitung.xls").Sheets(1)
    ActiveWorkbook.Save
    Case ...
    Case Else
    End Select
    Windows("Mahnliste.xls").Activate
    Loop

    End Sub
     
  9. Moin, jens,

    vielleicht solltest Du den Vorschlag von eggzess aufgreifen (der übrigens richtig ist) und den Aufruf entweder durch
    Neu oder
    Call Neu gestalten - also ohne das Klammerpaar...
     
  10. Alles ausprobiert -> Alles funzt super!

    Danke an die edlen Helfer!

    Hätt ich gleich mal ausprobieren sollen *tongue.gif*

    Gruß Jens
     
Thema:

Funktion aufrufen

Die Seite wird geladen...
  1. Funktion aufrufen - Similar Threads - Funktion aufrufen

  2. WENN-Funktion mit mehreren Bedingungen

    in Microsoft Excel Hilfe
    WENN-Funktion mit mehreren Bedingungen: Guten Morgen, ich würde gerne eine Funktion erstellen, die die Werte einer Zelle untersucht. Ist der Wert unter 5, so soll ein "nein" erscheinen und das Feld rot werden Ist der Wert zwischen 5...
  3. Zellbezug mit MONAT(HEUTE()) Funktion

    in Microsoft Excel Hilfe
    Zellbezug mit MONAT(HEUTE()) Funktion: Hallo Forum, ich habe eine Exceltabelle, mit der ich meine Finanzen festhalte. Auf einer Übersichtsseite stehen die Einnahmen/Ausgaben für verschiedene Bereiche. In der Spalte Q möchte ich den...
  4. Daten aus anderer Mappe

    in Microsoft Excel Hilfe
    Daten aus anderer Mappe: Hallo zusammen, ich habe für die bessere Verständlichkeit eine Excel erstellt, die mein Problem beschreibt. In Tabelle 2 sind verschiede Formen dargestellt, denen mehrere Eigenschaften zugeordnet...
  5. Aufruf der Funktion QUANTIL in einer Funktion

    in Microsoft Excel Hilfe
    Aufruf der Funktion QUANTIL in einer Funktion: Hallo Excel-Spezialisten, könnt Ihr mir bitte weiterhelfen? Ich versuche in einer Funktion die Excel-Funktion "QUANTIL" aufzurufen, komme aber schon beim Kompilieren nicht über einen...
  6. AUFRUFEN (Funktion)

    in Microsoft Excel Tutorials
    AUFRUFEN (Funktion): AUFRUFEN (Funktion) Excel für Microsoft 365 Excel für Microsoft 365 für Mac Excel für das Web Excel 2019 Excel 2016 Excel 2019 für Mac Excel...
  7. Menuband-Funktion via Makro aufrufen

    in Microsoft Excel Hilfe
    Menuband-Funktion via Makro aufrufen: Servus i bims nochmal ^^ ich habe meine Google-Kenntnisse ausgereizt, oder weiß einfach nicht wonach genau ich suchen muss. Ich möchte das "Bild einfügen" aus dem Menüband, gerne auf ein Makro...
  8. VBA-Funktion von Tabellenblatt aufrufen

    in Microsoft Excel Hilfe
    VBA-Funktion von Tabellenblatt aufrufen: Hallo! Ich habe ein Tabellenblatt "Daten", dessen VBA-Code z.B. die Funktion TuWas enthält; TuWas kann nicht sinnvoll in ein Modul ausgelagert werden. Nun möchte ich TuWas aus der Zelle des...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden