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, 3540 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
gelöst Excel VBA In Userform Maske Text nach Eingabe löschen (1)

Frage von kluthi69 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (17)

Frage von Zockervogel zum Thema Router & Routing ...

Basic
Programmierung von Windows Programmen (8)

Frage von Ghost108 zum Thema Basic ...