Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1824to1828
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ole.Object

ole.Object
09.04.2021 14:47:21
Siegfried
Hallo zusammen,
ich möchte den Zustand von Formularsteuerelementen (Kontrollkästchen) per VBA beeinflussen, komme aber nicht so recht weiter.
Den folgenden Code habe ich in der Hilfe gefunden, er funktioniert bei mir nicht.
Sub Schaltfläche12_Klicken()
Dim oOle As OLEObject
Dim arr() As String
Dim iCounter As Integer
For Each oOle In ActiveSheet.OLEObjects
If Not Intersect(oOle.BottomRightCell, Range("A1:AF1")) Is Nothing And TypeName(oOle. _
Object) = "CheckBox" Then
If oOle.Object.Value = True Then
iCounter = iCounter + 1
arr(iCounter) = oOle.Name
End If
End If
Next oOle
If iCounter = 0 Then
Beep
Else
For iCounter = 1 To UBound(arr)
Debug.Print arr(iCounter)
Next iCounter
End If
End 

Sub
Wer kann mir helfen?
Gruß
Siegfried


		

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
mehr Infos?
09.04.2021 14:57:59
ralf_b
Kannst du uns mitteilen was genau da nicht funktioniert? Fehlermeldungen? gelbe Markierungen?
AW: mehr Infos?
09.04.2021 15:17:32
Siegfried
Hi Ralf,
in dem Bereich "A1:AF1" habe ich 4 Kontrollkästchen.
Meine Erwartung ist, dass ich mit Debug.Print eine Information erhalte (vorerst die Namen).
Dem ist aber nicht so, keine Fehlermeldung, keine gelb gekennzeichnete Code-Passage, keine Antwort.
Gruß
Siegfried
AW: ole.Object
09.04.2021 15:24:02
Nepumuk
Hallo Siegfried,
teste mal:
Option Explicit
Public Sub Test()
Dim objShape As Shape
Dim astrArray() As String
Dim ialngCounter As Long
For Each objShape In Tabelle1.Shapes
With objShape
If .Type = msoFormControl Then
If TypeName(.OLEFormat.Object) = "CheckBox" Then
If .OLEFormat.Object.Value = xlOn Then
ReDim Preserve astrArray(ialngCounter)
astrArray(ialngCounter) = .Name
ialngCounter = ialngCounter + 1
End If
End If
End If
End With
Next
If ialngCounter = 0 Then
Beep
Else
For ialngCounter = LBound(astrArray) To UBound(astrArray)
Debug.Print astrArray(ialngCounter)
Next
End If
End Sub

Gruß
Nepumuk
Anzeige
AW: ole.Object
09.04.2021 15:42:09
Siegfried
Hi Nepumuk
ich erhalte das gleiche Ergebnis, keine Fehlermeldung, keine Antwort.
Ich habe schon gedacht, dass meine Kontrollkästchen gar nicht in der Bibliothek sind und der Code deshalb nicht funktioniert.
Gruß
Siegfried
AW: ole.Object
09.04.2021 15:47:13
Nepumuk
Hallo Siegfried,
hast du auch den Objektnamen der Tabelle angepasst auf deine Mappe?
Gruß
Nepumuk
AW: ole.Object
09.04.2021 15:59:53
Siegfried
Hi Nepumuk,
mit Deiner Frage "hast du auch den Objektnamen der Tabelle angepasst auf deine Mappe?"
kann ich nicht umgehen.
Was genau müßte ich prüfen?
Gruß
Siegfried
AW: ole.Object
09.04.2021 16:03:57
Nepumuk
Hallo Siegfried,
hier:
For Each objShape In Tabelle1.Shapes
spreche ich das Objekt Tabelle1 an. Die Objektnamen findest du im Projektexplorer vor den in Klammern stehenden Namen der Tabelle auf der Exceloberfläche.
Gruß
Nepumuk
Anzeige
AW: ole.Object
09.04.2021 17:42:55
Siegfried
Hi Nepumuk,
Sorry, dass ich mich erst so spät nochmal melde.
Ja, der Objektname der Tabelle ist angepasst.
Gruß
Siegfried
AW: ole.Object
09.04.2021 17:46:56
Nepumuk
Hallo Siegfried,
lade mal eine Mustermappe hoch.
Gruß
Nepumuk
AW: KEIN ole.Object vom Typ CHECKBOX
09.04.2021 18:11:01
EtoPHG
Hallo Siegfried,
Du hast Formularsteuerelemente im Tabellenblatt und keine ActiveX Checkboxen! Darum wird da auch nie was kommen!
Gruess Hansueli
Anzeige
AW: oops, Direkt-Fenster im VBE alles OK!
09.04.2021 18:18:29
EtoPHG

AW: ole.Object
09.04.2021 18:15:20
Nepumuk
Hallo Siegfried,
funktioniert doch. Es werden die CheckBoxen ausgegeben bei denen das Häkchen gesetzt ist:


Gruß
Nepumuk
AW: ole.Object
09.04.2021 18:31:38
Siegfried
Hi Nepumuk,
vielen Dank,
jetzt funktioniert Dein Code auch bei mir. Ich hatte keines der Kontrollkästchen aktiviert.
Gruß
Siegfried
AW: ole.Object
09.04.2021 16:06:07
ralf_b
Was Grundsätzliches Siegfried. Welche Antwort des Programmes erwartest du?
Das Programm gibt nur im Direktfenster die Informationen aus.
mit der Zeile Debug.print
wenn du im VBA editor STRG + G drückst, dann öffnet sich dieses Fenster.
Anzeige
AW: ole.Object
09.04.2021 16:23:11
Siegfried
Hi Ralf,
meine Erwartung:
Debug.Print arr(iCounter)
Gruß
Siegfried
AW: ole.Object
09.04.2021 18:23:18
ralf_b
deine Erwartungen werden erfüllt ,aber nur wenn du die Checkboxen aktivierst.

AW: ole.Object
09.04.2021 18:35:51
Siegfried
Hi Ralf,
auch Dir vielen Dank.
Ich habe zuletzt auf eine Antwort von Nepumuk gehofft.
Auch von dort kam ein Erfolg.
Gruß
Siegfried

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige