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, 3531 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
VB for Applications
VBA Excel Dateien zusammenfassen (3)

Frage von cberndt zum Thema VB for Applications ...

Microsoft Office
gelöst Verschieben von Zellinformation in andere Spalte (per VBA) excel 2010 (5)

Frage von thomas1972 zum Thema Microsoft Office ...

VB for Applications
Bilder vom LDAP in VBA - Excel (3)

Frage von Roadrunner777 zum Thema VB for Applications ...

Microsoft Office
Unterordner durchsuchen Excel VBA (1)

Frage von schwalbepilot zum Thema Microsoft Office ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst ZIP-Archive nach Dateien durchsuchen und Pfade ausgeben (33)

Frage von evinben zum Thema Batch & Shell ...

Router & Routing
Routingproblem in Homerouter-Kaskade mit Raspi (19)

Frage von Oldschool zum Thema Router & Routing ...

Server
Freenas schlechte Schreib Performance bei NFS (16)

Frage von janosch12 zum Thema Server ...

LAN, WAN, Wireless
Buffolo AccessPoint IP vergessen - herausfinden (9)

Frage von staybb zum Thema LAN, WAN, Wireless ...