Prozedur Zur Laufzeit
#1
Hallo liebes Forum,

Ich habe eine Frage zur Laufzeit.

Ich habe per Makro ein Makro Erzeugt, nun möchte Ich während der Laufzeit auf das neue Makro zugreifen.

Was nicht geht.

Frage:
geht das Überhaupt?
Wenn Ja wie?

Lg Flo
Top
#2
Hallo Flo,

schon probiert? Wie man ein Makro aufruft weißt Du doch Smile und eventuell auch, wie es mit Application.OnTime geht auch?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#3
Hallo ja das weiß Ich aber so klapp es auch nicht deswegen meine Frage Blush

Lg Flo
Top
#4
Schaus dir mal an:
https://de.m.wikibooks.org/wiki/VBA_in_E...duraufrufe
Mit freundlichen Grüßen  :)
Michael
Top
#5
Hallo Florian,

wie sieht dein bisheriges Konstrukt aus?
Gruß Stefan
Win 10 / Office 2016
Top
#6
Hallöchen,

hier mal ein Ansatz. Erstelle eine neue Datei mit einem Modul1 und einem Modul2 und füge den Code ins Modul1 ein.

Code:
Option Explicit
Private Sub CodeBearbeiten()
' Ben?tigte Verweise:
' Microsof Visual Basic for Applications Extensibility 5.3
' Zugriff auf VBA Projekt muss erlaubt sein
' Ein "Modul2" muss vorhanden sein - Anmerkung: Dieses oder
' anderes Modul ebenfalls moeglich
Dim oVBProject As New VBIDE.VBProject, oVbComp As VBComponent
Dim iCodeLines&, sCode$
'VBProjekt dieser Arbeitsmappe zuweisen
Set oVBProject = ThisWorkbook.VBProject
'Modul2 bearbeiten - bei Bedarf Modulname aendern
Set oVbComp = oVBProject.VBComponents("Modul2")
'Mit dem Codemodul
With oVbComp.CodeModule
  'String am Anfang hinzufuegen
  .AddFromString ("'Test Codemanipulation")
  'Zeilen zaehlen
  iCodeLines = .CountOfLines
  'Makro der Stringvariablen zuweisen
  sCode = "Private Sub BitteMeldeDich()" & vbCrLf & _
    "   MsgBox ""Hallo hier bin ich""" & vbCrLf & _
      "End Sub" & vbCrLf & ""
  'Macro am Ende dees Moduls hinzufuegen
  .InsertLines iCodeLines + 1, sCode
'Mit dem Codemodul
End With
'Erzeugtes Macro aufrufen - geht nur per OnTime da nur
'hiermit Aufruf als String
Application.OnTime Now + TimeValue("00:00:05"), "BitteMeldeDich"
End Sub


Wichtig ist, wie ich schon schrieb, der Aufruf per ...OnTime. Wenn man ein Makro komplett neu erzeugt, dann würde ein direkter Aufruf bei Start des erzugenden Subs die Fehlermeldung bringen, dass das Makro fehlt.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste