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

Forumthread: Wieso funktioniert Makro nicht?

Wieso funktioniert Makro nicht?
27.06.2006 15:31:01
Walter
Hallo Experten,
habe über das Forum (von Hoffi) einen Code erhalten, einmal funktioniert danach nicht.
Wieso ?
'

Sub VF_UF_kopieren()
'Dim s As String
'Dim sf As String
'Dim wb As Workbook
'sf = "C:\Test.xls"
's = "C:\test.frm"
'Set wb = Workbooks.Open(sf)
'ThisWorkbook.VBProject.VBComponents("UserForm1").Export s
'wb.Activate
'If ActiveWorkbook.VBProject.VBComponents("UserForm1") Is Nothing Then   <<<<
'    ActiveWorkbook.VBProject.VBComponents.Import s
'    Kill s
'Else
'MsgBox "UF vorhanden"
'    Kill s
'    Exit Sub
'End If
'End Sub

bleibt hier stehen: Wenn ich die UF handich kopiere und anschließend aufrufe, erkennt mein Makro dies und bestätigt mit "UF vorhanden", vielleicht hat jemand einen Tip,
Danke im voraus,
mfg Walter
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Wieso funktioniert Makro nicht?
27.06.2006 16:03:06
Hoffi
Hallo Walter,
habe gerade festgestellt:
ein 'On Error Resume Next' behebt unser Problem.

Sub VF_UF_kopieren()
Dim s As String
Dim sf As String
Dim wb As Workbook
sf = "C:\Test.xls"
s = "C:\test.frm"
on Error Resume Next
ThisWorkbook.VBProject.VBComponents("UserForm1").Export s
Set wb = Workbooks.Open(sf)
wb.Activate
If ActiveWorkbook.VBProject.VBComponents("UserForm1") Is Nothing Then   <<<<
ActiveWorkbook.VBProject.VBComponents.Import s
Kill s
Else
MsgBox "UF vorhanden"
Kill s
Exit Sub
End If
End Sub

Habs jetzt 11 Mal nacheinander getestet, funktioniert...
Grüße
Hoffi
Anzeige
AW: Wieso funktioniert Makro nicht?
27.06.2006 16:55:40
Erich
Hallo Walter und Hoffi,
es geht auch ohne "on error ...".
(Sollte man möglichst vermeiden, und wenn, dann gleich wieder auf "...Goto 0" zurückstellen.)
Option Explicit
Sub VF_UF_kopieren()
Dim s As String, sf As String, wb As Workbook, VBComp As VBComponent, IsDa As Boolean
sf = "c:\Test.xls"
s = "c:\test.frm"
ThisWorkbook.VBProject.VBComponents("UserForm1").Export s
Set wb = Workbooks.Open(sf)
For Each VBComp In ActiveWorkbook.VBProject.VBComponents
If VBComp.Type = vbext_ct_MSForm Then
If VBComp.Name = "UserForm1" Then IsDa = True
End If
Next VBComp
If Not IsDa Then
ActiveWorkbook.VBProject.VBComponents.Import s
Kill s
Else
MsgBox "UF vorhanden"
Kill s
End If
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Danke -)
27.06.2006 19:15:31
Walter
Hallo Erich,
Danke für den Tip,
gruß Walter
AW: Wieso funktioniert Makro nicht?
28.06.2006 09:06:02
Hoffi
Hallo Erich,
Danke für den Tip, wusste ich auch nocht nicht.
Grüße
Hoffi
;

Forumthreads zu verwandten Themen

Anzeige
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