Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
832to836
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
832to836
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Einbinden von VBA Code
07.01.2007 06:30:04
VBA
Guten Tag,
Ich möchte von mir bereits erstellte Prozeduren, die ich in einem Add-in abgelegt habe, in einem neuen Excel File im VBA nutzbar mache.
Beispiel:
Im Add steht im Modul1:

Sub Test()
MsgBox ("Hallo Welt")
End Sub

Im neuen Excel File sollte dann mit folgendem VBA-Code die Prozedur oben aufgerufen werden können.

Sub TestTest()
Call Test
End Sub

Das Add-In habe ich eingebunden und eigentlich war ich der Meinung, dass dies so funktionieren sollte - macht es aber nicht.
Hat jemand eine Idee?
Schöne Gruesse
Simon

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einbinden von VBA Code
07.01.2007 07:28:58
VBA
Hallo,
vieleicht so.
Application.Run "Mappe2.xla!Makro1"
Mappe2.xla = Name der Add in der Makro1 steht
Gruss
Tino
AW: Einbinden von VBA Code
07.01.2007 11:08:00
VBA
Hallo,
OK das funktioniert, ist aber nicht sehr elegant.
Eigentlich würde ich es gerne so haben, dass die Funktionen normal aufgerufen werden können.
Möglicherweise ist dies über Klassen lösbar !?
Ich stell mir das irgendwie so vor, das man im Rahmen einer Klasse die Prozedur definiert. Die Klasse dann einmal in den Programmcode einbindet (frühe Bindung) und die Funktion dann zur Verfügung steht. Leider habe ich damit aber kein Erfahrung.
Gruesse
Simon
Anzeige
AW: Einbinden von VBA Code
07.01.2007 11:23:42
VBA
Hallo Simon,
Wenn Du Dich schon als Excel-Profi - VBA gut, dann solltest Du auch ein bisschen genauer mit Deinen Ausdrücken umgehen:
Einmal ist von Funktionen die Rede, dann werden Beispiele mit Subroutinen bemüht und am Schluss von Klassen geredet. Das ergibt einen wunderbaren Fruchtsalat.
Falls die Funktionen in einem Modul des Add-In nicht mit Private deklariert sind, stehen sie unter benutzerdefinierten Funktionen allen zur Verfügung.
Gruss Hansueli
AW: Einbinden von VBA Code
07.01.2007 23:22:33
VBA
Hallo Simon,
probiers mal mit
Im Add-Inn im Modul1:
Sub Test4711()
MsgBox ("Hallo Welt")
End Sub
und im neuen Excelfile:
Sub TestTest()
Call Test4711
End Sub
Wenn das klappt, gibt (oder gab) es bei dir mehrere Routinen mit dem Namen Test,
und VBA kann nicht wissen, welche davon gemeint sein soll.
Noch eine Frage: Was heißt "macht es aber nicht"?
Gibt es eine Fehlermeldung beim Kompilieren? bei der Ausführung?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Einbinden von VBA Code
09.01.2007 21:44:39
VBA
Hall Erich,
danke für deinen Tipp, die Fehlermeldung bleibt:
Sub oder Function nicht definiert.
Was ich vielleicht noch sagen muss ist, dass ich die Add-Ins in der Exceloberfläche eingebunden habe. Der ähnliche Dialog in der VBA-Umgebung lässt das einbinden von Add-In nicht zu.
Schöne Gruesse
Simon
AW: Einbinden von VBA Code
09.01.2007 23:29:52
VBA
Hallo Simon,
das wäre meine nächste Frage geworden - was meinst du mit "habe ich eingebunden"?
In Excel kannst du die Add-Ins wieder deaktivieren, wenn du sie dort nicht brauchst (z. B. als Tabellenfunktionen).
In VBA wählst du das Projekt, in dem deine Routine "TestTest" aus (du kannst dir das Modul anzeigen),
in "Extras" - "Verweise..." musst du vermutlich zunächst den Button "Durchsuchen" anklicken.
Hier kannst du dein XLA suchen, es staht dann in der Liste und du kannst ihm ein Häkchen verpassen.
Danach sollte es funzen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Einbinden von VBA Code
10.01.2007 08:50:02
VBA
Hallo Erich,
es funktioniert - Super!
Folgendes fasse ich jetzt aus meiner Sicht zusammen:
1. Das einbinden von Excel-VBA Prozeduren funktioniert nur über
RunMacro ... wenn man das Add-In in der Excel Umgebung einbindet
2. Wenn im VBA Code über Call Prozedur auf die Prozedur direkt zugegriffen werden soll muss das Add-In in der VBA-Umgebung in das Project eingebunden werden
3. Das einbinden in der VBA-Umgebung funktioniert nicht über den Add-In-Manager sondern über einen Verweis auf das ADD-In
4. Beim einrichten des Verweises kann es Namenskonflikte geben (typischerweise weil das Add in Projekt VBA-Project heist. Dies kann umgangen werden indem das Projekt im Projektexplorer umbenannt wird.
5. Im Projektexplorer erscheint als Resultat des Einbindens des Add-Ins ein "Verweis auf Text.xla" (test.xla hatte ich mein Add-In genannt!
Vielen Dank für die Unterstützung!
Gruesse
Simon
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige