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, 3543 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
gelöst VBA Excel Skript - Hilfe! (1)

Frage von 133202 zum Thema VB for Applications ...

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

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

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

Viren und Trojaner
Verschlüsselungstrojaner simulieren (16)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Rechtliche Fragen
Hotspot rechtssicher betreiben? (14)

Frage von xSiggix zum Thema Rechtliche Fragen ...

Server-Hardware
gelöst Empfehlung KVM over IP Switch (8)

Frage von Androxin zum Thema Server-Hardware ...