Office: VBA-Funktion von Tabellenblatt aufrufen

Helfe beim Thema VBA-Funktion von Tabellenblatt aufrufen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; 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.... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von User, 9. März 2008.

  1. 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 Tabellenblatts "Auswertung" heraus aufrufen.

    Wie mache ich das? Und wie mache ich das, wenn "Daten" nicht in derselben Arbeitsmappe ist wie "Auswertung"?

    :)
     
  2. Hallo AnaMArk,

    innerhalb derselben Arbeitsmappe:
    Code:
    wobei "Tabelle1" der Codename des Tabellenblattes "Daten" ist. Den Codenamen siehst du im VBA-Explorer. Das ist bei den Tabellenblättern der Name vor der Klammer.

    arbeitsmappenübergreifend:
    Code:
    wobei "Dummy" der Name eines Subs in einem allgemeinen Modul ist. Dieses Sub tut nichts anderes, als das eigentliche Sub TuWas arbeitsmappenintern aufzurufen, also
    Code:
    Gruß Ingolf
     
  3. wobei "Tabelle1" der Codename des Tabellenblattes "Daten" ist. Den Codenamen siehst du im VBA-Explorer. Das ist bei den Tabellenblättern der Name vor der Klammer.

    Zunächst einmal Danke für Deine Hilfe!

    Das Problem ist, dass der Codename nicht konstant ist, da es mehrere Tabellenblätter "Daten1", "Daten2", "Daten3"... gibt, aber nur ein Blatt "Auswertung", in dem ich dann das auszuwertende Tabellenblatt mit Namen angebe. Und TuWas sieht bei Daten1 anders aus als bei Daten2.

    wobei "Dummy" der Name eines Subs in einem allgemeinen Modul ist. Dieses Sub tut nichts anderes, als das eigentliche Sub TuWas arbeitsmappenintern aufzurufen, also
    Code:
    Genau *das* will ich eigentlich vermeiden. Der VBA-Code zum Arbeiten mit den Daten soll bei den entsprechenden Datenblättern bleiben, damit beim Umherkopieren der Datenblätter auch der Code immer mit präsent ist, und die (nicht VBA-kundigen) Nutzer keine unnötigen VBA-Aktivitäten wie das umherkopieren von Modulen entfalten müssen.
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
  4. VBA-Funktion von Tabellenblatt aufrufen

    Hallo AnaMark,

    Es geht auch mit der Syntax
    Code:
    und den Tabellenblattnamen kannst du auch in einer Variablen übergeben.

    Meines Wissens können arbeitsmappenübergreifend, d.h. projektübergreifend nur Makros in einem Standardmodul aufgerufen werden. Du kannst aber ein Standardmodul mit einem Umleitungsmakro auch per VBA zur Laufzeit nach folgendem Muster einfügen:
    Code:
     
  5. und den Tabellenblattnamen kannst du auch in einer Variablen übergeben.

    Also ich habe jetzt mal beide Varianten probiert, allerdings funktioniert keine der beiden. Mein VBA-Code im Tabellenblatt ist folgender:



    Code:
    Die Tabelle hat den Namen "Tabelle1" und auch den VBA-Codenamen "Tabelle1". Schreibe ich jetzt in eine Zelle

    Code:
    dann erhalte ich den Fehler "Der eingegebene Name ist ungültig", und anschließend ist "Tabelle1.Mal2" markiert. Gebe ich stattdessen ein

    Code:
    dann erhalte ich den Fehler "Die eingegebene Formel enthält einen Fehler" und anschließend ist ".Mal2" markiert.
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
  6. Hallo AnaMark,

    da haben wir leider völlig aneinander vorbeigeredet. Ich war davon ausgegangen, dass du ein Makro von einem anderen Makro aus aufrufen willst. Für benutzerdefinierte Funktionen, die in Formeln verwendet werden, musst du einen anderen Weg gehen. Damit solche Funktionen von allen Mappen aus verwendbar sind, musst du sie in ein AddIn auslagern.

    Du packst die Funktionen in ein allgemeines Modul einer neuen, leeren Datei. Diese Datei speicherst du mit Speichern unter als AddIn ab. Den Dateityp AddIn kannst du im Speichern unter-Dialog über ein Dropdown-Menü einstellen. Dieses AddIn muss nun bei jedem Benutzer gespeichert und über das Menü Extras | Addins in sein Excel eingebunden werden.

    Gruß Ingolf
     
Thema:

VBA-Funktion von Tabellenblatt aufrufen

Die Seite wird geladen...
  1. VBA-Funktion von Tabellenblatt aufrufen - Similar Threads - VBA Funktion Tabellenblatt

  2. Array-Funktion mit VBA in Zelle schreiben

    in Microsoft Excel Hilfe
    Array-Funktion mit VBA in Zelle schreiben: Hallo zusammen, ich bin begeisterter Nutzer der neuen Array-Funktionen in Excel 365. Ich möchte mit VBA so eine Funktion in eine Zelle schreiben. Bei "normalen" Formeln habe ich das immer so...
  3. Hilfe bei VBA-Programmierung

    in Microsoft Excel Hilfe
    Hilfe bei VBA-Programmierung: Hallöchen zusammen, ich bräuchte mal wieder eure Hilfe. Diesmal geht es um ein VBA-Programm bzw. -Funktion. Folgender Sachverhalt: Ich habe Rohdaten in einer Textdatei, die ich mir in Excel...
  4. Outlook VBA NewMail Funktion Problem

    in Microsoft Outlook Hilfe
    Outlook VBA NewMail Funktion Problem: Hallo zusammen, ich möchte aus eingehenden E-Mails Anlagen in einem vorgegebenen Order abspeichern. Ich habe mir dazu ein Makro aus dem Netzt gemopst - zugegebenermaßen- was genau das kann....
  5. Funktion soll Wert in Variable übergeben (VBA)

    in Microsoft Excel Hilfe
    Funktion soll Wert in Variable übergeben (VBA): Hallo Forum-Gurus, ich bräuchte kurz Eure Hilfe. Anscheinend bin ich auf den Kopf gefallen. Folgende Funktion habe ich programmiert und möchte das Ergebnis nun in einer andere Private Sub...
  6. E-Mail Funktion mail auslesen VBA Anfänger

    in Microsoft Excel Hilfe
    E-Mail Funktion mail auslesen VBA Anfänger: Hallo, ich habe über das Internet mir einen Code zusammengebastelt. Code: Sub EmailManuellAbsenden() Application.DisplayAlerts = False Dim objOutlook As Object Dim objMail As Object Dim olApp As...
  7. VBA Funktion Range in Array umwandeln

    in Microsoft Excel Hilfe
    VBA Funktion Range in Array umwandeln: Liebe Alle! Ich hab folgendes Problem. Ich möchte ein Funktion die Zahlen in einer Range übernimmt und dann in ein Array kopiert / umwandelt. Code: Option Explicit Public Function...
  8. Funktion in Excel-VBA nutzen

    in Microsoft Excel Hilfe
    Funktion in Excel-VBA nutzen: Hallo, ich habe einige Zeit nichts mehr mit der VBA-Programmierung gemacht. Da scheint sich einiges geändert zu haben. Ich dachte mir, ein allgemeiner Funktionsaufruf funktioniert immer noch...
  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