Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 3561 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 ...

VB for Applications
gelöst Excel VBA Programmierung2 (17)

Frage von specialuser zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (12)

Frage von jensgebken zum Thema Windows Server ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Gebäude mit WLAN ausstatten (9)

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