Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1816to1820
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
Inhaltsverzeichnis

Makro aus anderer Datei starten

Makro aus anderer Datei starten
10.03.2021 11:22:36
Jaymerson
Hallo zusammen,
nach langer google suche, habe ich keine Lösung für mein Problem gefunden und wende mich hoffnungsvoll an euch!
Zum einen habe ich eine Datei in der ich all meine Makros sammeln möchte.
Zum anderen bekomme ich per export aus einem online Tool täglich Reports auf die ich dann diese gespeicherten Makros anwenden möchte.
Wenn ich jetzt beide Dateien (die mit den Makros und den Report) öffne um mir dann die verfügbaren Makros anzeigen zu lassen, läuft das gewählte Makro in der Datei in der es auch gespeichert ist und nicht in dem Report.
Was mache ich falsch?
https://www.herber.de/bbs/user/144619.xlsm

Sub Tech()
'** Neues benanntes Tabellenblatt einfügen
'** einfügen als letztes Blatt
'** Dimensionierung der Variablen
Dim blatt As Object
Dim BlattName As String
Dim bolFlg As Boolean
'** Blattname festlegen
BlattName = "Tech"
'** Prüfen, ob das Blatt, welches eingefügt werden soll bereits vorhanden ist
'** Nur einfügen, wenn Blatt noch nicht vorhanden ist
For Each blatt In Sheets
If blatt.Name = BlattName Then bolFlg = True
Next blatt
'** Blatt nur einfügen, wenn noch nicht vorhanden
If bolFlg = False Then
With ThisWorkbook
.Sheets.Add After:=Sheets(Worksheets.Count)
.ActiveSheet.Name = "Tech"
End With
End If
Dim WkSh_Q As Worksheet
Dim WkSh_Z As Worksheet
Dim rZelle As Range
Dim aUeberschr As Variant
Dim iIndx As Integer
Dim iSpalte As Integer
aUeberschr = Array("Q4", "ID")
Application.ScreenUpdating = False
Set WkSh_Q = Worksheets("ABC") ' das Quell-Tabellenblatt
Set WkSh_Z = Worksheets("Tech") ' das Ziel-Tabellenblatt
With WkSh_Q.Rows(1)
For iIndx = 0 To UBound(aUeberschr)
Set rZelle = .Find(aUeberschr(iIndx), LookAt:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Then
iSpalte = iSpalte + 1
WkSh_Q.Columns(rZelle.Column).Copy Destination:=WkSh_Z.Columns(iSpalte)
End If
Next iIndx
End With
Application.ScreenUpdating = True
End Sub


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: application.Run
10.03.2021 11:27:09
Fennek
Hallo,
ich habe weder die Datei noch den Code angesehen:
Ein Makro in einer anderen Datei zu staten, geht im Prinzip so:
Makro in "Ausfuehren.xlsm": Sub DoIt()
Aufrufen aus Start.xlsm:

Sub Starten()
Application.Run "Ausfuehren.xlsm!DoIt"
end sub
mfg

AW: Makro aus anderer Datei starten
10.03.2021 11:37:08
Herbert_Grom
Hallo,
hast du es schon mal mit der "persönlichen Makroarbeitsmappe" "PERSONAL.XLSB" probiert?
Servus

AW: Makro aus anderer Datei starten
10.03.2021 11:59:01
Piet
Hallo
schau bitte mal was passiert wenn du nach - BlattName = "Tech"- noch ActiveWorkbook.Activate setzt und die With Klammer von ThisWorkbook auf "ActiveWorkbook" enderst. Excel ist das sehr konsequent!! Hilft dirr das weiter?
mfg Piet

Anzeige
AW: Makro aus anderer Datei starten
10.03.2021 13:19:02
Jaymerson
Persönlichen Ordner habe ich tatsächlich noch nicht ausprobiert, da aber andere auch auf die Makros zugreifen sollen können, würde das nicht weit genug gehen.
Danke an Piet! Das war exakt der richtige Tip. Jetzt funktionierts!

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige