Top-Themen

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

Excel und VB for Applications - Objekte Dynamisch ansprechen

Frage Entwicklung VB for Applications

Mitglied: Snowman25

Snowman25 (Level 3) - Jetzt verbinden

27.10.2009 um 13:37 Uhr, 9705 Aufrufe, 4 Kommentare

Ich möchte verschiedene DropDown-Listen, die nach dem gleichen Muster benannt sind, nacheinander ansprechen.
Hardcoded funktioniert es mit CallByName.
Sobald ich die Anweisung in ein Muster umschreibe, wird der Run-time error 424 geworfen: 'Object required'

Ich durchlaufe mit einer Foreach-schleife ein Array, in dem 3-stellige Strings gespeichert sind und übergebe diesen String dann an eine sub 'create' mit Namen MB als Variant (foreach benötigt variant). Das funktioniert soweit auch.
Das Muster der Objekte ist so aufgebaut: Me.<MB aus dem Array>_start
Die Sub:
01.
Private Sub create(MB As Variant) 
02.
Dim aio 
03.
starttime = CallByName("Me." & MB & "_start", "Value", VbGet) 
04.
    If Not starttime = "" Then 
05.
        MsgBox "Bei " & MB & " ist ein Startwert von " & starttime & " definiert." 
06.
    End If 
07.
aio = "" 
08.
End Sub
mit
CallByName(Me.AUG_start, "Value", VbGet)
erhalte ich den entsprechenden Wert. Allerdings bekomme ich immer den Fehler, wenn ich es wie im obrigen Beispiel probiere.
Gibt es eine Möglichkeit, diese Objekte dynamisch aufzurufen?
Mitglied: 76109
27.10.2009 um 14:49 Uhr
Hallo Snowman25!

Ich verstehe nicht, warum Du das ganze so kompliziert machst? Warum sprichst Du die Teile nicht direkt an.

Beispiel:
Du hast in Tabelle 1 eine Text-Box mit dem Namen "TextBox1", dann kannst Du das Object von jedem Modul oder was auch immer direkt steuern.
01.
sub test() 
02.
    Dim Wks As Worksheet, MeineTextBox As OLEObject, Wert As String 
03.
 
04.
    Set Wks = Sheets("Tabelle1") 
05.
 
06.
    Set MeineTextBox = Wks.OLEObjects("TextBox1")   'Oder 
07.
 
08.
    Set MeineTextBox = Sheets("Tabelle1").OLEObjects("TextBox1") 
09.
 
10.
    Wert = Wks.OLEObjects("TextBox1").Object.Value  'Oder 
11.
 
12.
    Wert = MeineTextBox.Object.Value  'Oder 
13.
 
14.
    Wert = Sheets("Tabelle1").OLEObjects("TextBox1").Object.Value 
15.
End Sub
Dein CallByName erwartet ein Object und Du übergibst nur ein String, müsste also etwas in der Art CallByName(Object("String")... heißen

Gruß Dieter
Bitte warten ..
Mitglied: Snowman25
27.10.2009 um 15:38 Uhr
Tut mir leid didi, aber dein beispiel zeigt mir auch nur 'harte' Verweise.
Ich suche ja eine Möglichkeit, Objekte bzw. deren Eigenschaften variabel auszulesen und zu ändern.
Bitte warten ..
Mitglied: 76109
27.10.2009 um 18:24 Uhr
Hallo Snowman25!

Das muss Dir nicht leid tun. Mit ein wenig Phantasie hättest Du Anhand meiner Beispiele selber draufkommen können
01.
starttime = CallByName(Me.OLEObjects(MB & "_start").Object, "Value", VbGet)
Gruß Dieter
Bitte warten ..
Mitglied: Snowman25
28.10.2009 um 09:27 Uhr
Danke, funktioniert wunderbar
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Mehrere Zellen in VB ansprechen mit einer Anweisung
gelöst Frage von peterchen1976Visual Studio8 Kommentare

Hallo, ich habe ein Problem mit folgender Formel: " If Not zelle Is Nothing Then If zelle.Address = ("$C$15") ...

Microsoft Office
Excel: dynamische Zelladressierung
gelöst Frage von Hobi84Microsoft Office14 Kommentare

Hallo, ich möchte in einem Excel Arbeitsmappe im ersten Blatt eine Tabelle folgender Form erstellen Blatt 1: 1 Peter ...

VB for Applications
VB Skript Excel Datei
gelöst Frage von FragerVB for Applications3 Kommentare

Hallo Zusammen, Ich brauche eure Hilfe. Ich habe eine Datei 1.xlsx nun brauche ich ein Skript, was die Datei ...

Microsoft Office
Excel Zelle dynamisch einer Zeile zuordnen
gelöst Frage von sammy65Microsoft Office3 Kommentare

Hallo miteinander, ich habe eine Excel Tabelle, die mir einer Acces Abfrage gefüttert wird. Funktioniert Tadellos. Jetzt vollen meine ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 6 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 11 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 11 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 23 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...