Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Sub aus Privater Sub heraus aufrufen

Sub aus Privater Sub heraus aufrufen
11.03.2015 15:27:14
Michael
Hallo Ihr,
versuch mich schon mehrere Stunden mittels vermeindlich richtiger Formulierungen im Netz durchzuhangeln, jedoch ohne Erfolg.
Habe in Personal.xlsb ein Modul mit Namen TG_Auswertung, darin enthalten 2 Sub's.
Davon soll die Zweite aufgerufen werden.
Dies soll aus einem anderen Projekt aus einem Tabellenblatt aus Private Sub WB_change heraus aufgerufen werden.
Scheint an der Referenzierung zu liegen, da bei manchen Versuchen der Fehler "Keine SUB / FUNC vorhanden" oder auch "Variable nicht definiert" erscheint.
Bitte um Hilfe
Danke Vorab Michael

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sub aus Privater Sub heraus aufrufen
11.03.2015 15:37:33
Nepumuk
Hallo,
dazu musst du die Methode Application.Run benutzen.
Gruß
Nepumuk

AW: Sub aus Privater Sub heraus aufrufen
11.03.2015 18:41:19
Michael
Hallo Nepomuk,
hat ich auch schon versucht.
Aus dem Modul heraus, bilde ich neue Tabellenblätter und eines davon bekommt durch Makro per Makro ... .InsertLines x + 2, "Application run("modulname.subname")" eine WB_change Methode.
Jedoch mit Gänsefüßchen zeigt er die Zeile in rot und ohne funzt es auch nicht.

Anzeige
AW: Sub aus Privater Sub heraus aufrufen
11.03.2015 19:23:58
Nepumuk
Hallo,
da fehlt vor allen Dingen der Mappenname. Also:
Application.Run "MappeMitMakro.xlsb!Modulname.MakroName"
Gruß
Nepumuk

AW: Sub aus Privater Sub heraus aufrufen
11.03.2015 20:06:08
Michael
Sorry, natürlich Nep -u- muk!
Ist dann Personal.xlsb der Mappenname?
Denn ein Tabellenblatt hab ich ja nicht, da ich ja direkt aus Personal.xlsb starte.

Anzeige
AW: Sub aus Privater Sub heraus aufrufen
11.03.2015 20:54:50
Nepumuk
Hallo,
das ist doch nur als Beispiel gedacht. Die richtigen Namen darfst du selber einsetzen.
Gruß
Nepumk

AW: Sub aus Privater Sub heraus aufrufen
12.03.2015 07:06:34
Michael
Guten Morgen,
konkret geht es darum,
habe folgenden Code, welcher mir einen Code in ein anderes Projekt in TabellenBlatt einfügt:
With Workbooks(wbName).VBProject.VBComponents("Tabelle3").CodeModule
x = .CreateEventProc("Change", "Worksheet")
.InsertLines x + 1, "Dim x As Integer"
.InsertLines x + 2, "Dim Scan As Variant"
.InsertLines x + 3, "cells(1,1).Font.ColorIndex = 2"
.InsertLines x + 4, "Scan = ActiveSheet.UsedRange"
.InsertLines x + 5, "cells(1,1).Activate"
.InsertLines x + 6, "application.run "PERSONAL.XLSB!ScanDaten_verarbeiten"" 'HIER GIBTS PROBLEME
End With
With Application.VBE.MainWindow 'VBA Editor zumachen
.SetFocus
.Visible = False
End With
In o.g. Zeile lässt er mir keine Variante zu.
Vielleicht kann mir jemand den Ausdruck richtig nennen !?
Projektname des Makros: Personal.xlsb
Modulname: TG_Auswertung
Makroname: ScanDaten_verarbeiten
Schönen Tag Michael

Anzeige
AW: Sub aus Privater Sub heraus aufrufen
12.03.2015 08:30:39
Nepumuk
Hallo,
einfach so:
"Application.Run ""PERSONAL.XLSB!ScanDaten_verarbeiten"""

Gruß
Nepumuk

AW: Sub aus Privater Sub heraus aufrufen
12.03.2015 11:53:35
Michael
Hat sich durch Zufall gelöst und ein Gänsefüßchenpaar zuviel (dachte ich) gemacht.
.InsertLines x + 6, "Application.run ""PERSONAL.XLSB!ScanDaten_verarbeiten""" musste in Doppel-Gänsefüßchen gesetzt werden, damit wenn es in der Tabelle geschrieben wurde auch richtig geschrieben steht.
Vielleicht hilft es dem Nächsten
Danke nochmals bis dann
Michael
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige