Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBA und Excel - Eigenartiges Phänomen beim RUN-Command

Frage Entwicklung VB for Applications

Mitglied: Snowman25

Snowman25 (Level 3) - Jetzt verbinden

26.10.2009 um 14:05 Uhr, 3550 Aufrufe, 2 Kommentare

Macro-Aufrufe über RUN werden doppelt ausgeführt

Ich habe ein String-Array mit den Namen mehrere Subs, welches ich über eine For Each-Schleife durchlaufe und darin die Subs über Run aufrufe:
01.
Private Sub btn_start_Click() 
02.
    Set sht = Sheets("Ausgabe") 
03.
    Dim MB_Arr(15) As String 
04.
    Dim runner As String 
05.
    Dim curr_MB As Variant 
06.
    MB_Arr(0) = "AUG_events" 
07.
    MB_Arr(1) = "AWB_events" 
08.
    MB_Arr(2) = "BOH_events" 
09.
    MB_Arr(3) = "BRU_events" 
10.
    MB_Arr(4) = "GAR_events" 
11.
    MB_Arr(5) = "HUM_events" 
12.
    MB_Arr(6) = "MAN_events" 
13.
    MB_Arr(7) = "MEI_events" 
14.
    MB_Arr(8) = "RAB_events" 
15.
    MB_Arr(9) = "STA_events" 
16.
    MB_Arr(10) = "STO_events" 
17.
    MB_Arr(11) = "TH_events" 
18.
    MB_Arr(12) = "VOL_events" 
19.
    MB_Arr(13) = "WAE_events" 
20.
    MB_Arr(14) = "WAL_events" 
21.
    MB_Arr(15) = "ALM_events" 
22.
    For Each curr_MB In MB_Arr() 
23.
        runner = "Sheet1." & curr_MB & "()" 
24.
        Run runner 
25.
    Next curr_MB 
26.
    'sht.Select 
27.
End Sub
Leider läuft Run in einem eigenen Thread, hier komme ich mit dem Debugger als nicht rein.
In der Sub AUG_events() werden 5 OptionButtons ausgewertet und je nach Wert eine MsgBox ausgegeben, allerdings wird genau die gleiche nach dem Bestätigen sofort wieder angezeigt! Erst nach dem 2. mal wird der nächste Wert aus MB_Arr() durchlaufen. Dabei wird die Schleife aber keineswegs doppelt ausgeführt. auch das Run-Command selbst wird laut Debugger nicht doppelt ausgeführt. Wieso bekomme ich die MsgBox dann aber doch doppelt?
zur Verständlichkeit hier noch AUG_events():
01.
Public Sub AUG_events() 
02.
If Not AUG_start = "" Then 
03.
    If AUG_aussen.Value Then 
04.
        MsgBox "im Aussendienst" 
05.
    ElseIf AUG_reise.Value Then 
06.
        MsgBox "auf reisen" 
07.
    ElseIf AUG_urlaub.Value Then 
08.
        MsgBox "URLAUB!" 
09.
    ElseIf AUG_schule.Value Then 
10.
        MsgBox "in der Schule" 
11.
    ElseIf AUG_krank.Value Then 
12.
        MsgBox "krank" 
13.
    End If 
14.
End If 
15.
End Sub

Verwirrt - Snowman25
Mitglied: 76109
26.10.2009 um 15:19 Uhr
Hallo Snowman25!

Das ganze ist schon etwas verwirrend, aber wenn DU im ersten Code die Zeile 23 änderst, sollte es funktionieren:
01.
runner = "Sheet1." & curr_MB  'Ohne Klammer
Gruß Dieter
Bitte warten ..
Mitglied: Snowman25
26.10.2009 um 15:34 Uhr
Danke, das hat das Problem gelöst (warum auch immer)
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel-Formel oder VBA (7)

Frage von nicki01 zum Thema Microsoft Office ...

VB for Applications
gelöst VBA Excel Skript - Hilfe! (1)

Frage von 133202 zum Thema VB for Applications ...

VB for Applications
SNMP Abfrage in EXCEL über VBA (7)

Frage von SebastianL zum Thema VB for Applications ...

Microsoft Office
gelöst Excel 2010 mit VBA sortieren ? (4)

Frage von dressa zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (16)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Server-Hardware
HP ProLiant DL380 G7, POST Error: 1785-Drive Array not Configured (10)

Frage von Paderman zum Thema Server-Hardware ...

Server-Hardware
Starker PC zum Virtualisieren (10)

Frage von canlot zum Thema Server-Hardware ...

Microsoft Office
gelöst Office 365 Pro Domäne einrichten OHNE Webseite (9)

Frage von thklemm zum Thema Microsoft Office ...