Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
24.05.2018 09:34:55 |
Matteo |
|
|
|
24.05.2018 09:58:19 |
Gast84104 |
|
|
|
28.05.2018 10:39:07 |
Matteo |
|
|
|
24.05.2018 13:12:52 |
Gast91515 |
|
|
|
24.05.2018 23:56:50 |
Gast16775 |
|
|
Demo für Formular- und ActiveX-Steuerlemente |
25.05.2018 01:25:54 |
Gast54512 |
|
|
|
28.05.2018 11:20:11 |
Matteo |
|
|
Von:
Gast54512 |
Datum:
25.05.2018 01:25:54 |
Views:
592 |
Rating:
|
Antwort:
|
Thema:
Demo für Formular- und ActiveX-Steuerlemente |
Dieser Code demonstriert wie man Kombinationsfelder auf einem Tabellenblatt ermittelt.
Dabei gilt es zu beachten, dass es zwei verschiedene Arten gibt: Formular- und ActiveX-Steuerelemente.
(Die Formularsteuerelemente waren zuerst da und sind heute hauptsächlich wegen der Abwärtskopatibilität noch enthalten, diese haben außerdem einige Vorteile gegenüber ihren ActiveX-Vertretern, auf die ich hier jedoch nicht weiter eingehen möchte.)
Option Explicit
Public Sub Demo()
Dim wks As Excel.Worksheet
Dim colCBO As VBA.Collection
Dim item As Object
Dim i As Long
Set colCBO = New VBA.Collection
Set wks = Worksheets("Tabelle1")
For Each item In wks.Shapes
If item.Type = MsoShapeType.msoFormControl Then
If item.FormControlType = XlFormControl.xlDropDown Then
Call colCBO.Add(item)
End If
End If
Next
'Ausgabe der Namen im Direktbereich (ggf. einblenden über Menü Ansicht im VBA-Editor, oder per STRG+G)
Debug.Print vbNewLine; "[Formularsteuerlemente:" & colCBO.Count & "]"
For Each item In colCBO
Debug.Print Spc(1); "Name: '"; item.Name & "'"
Next
Call MsgBox("'" & wks.Name & "' hat " & colCBO.Count & " Formularsteuerelemente vom Typ 'Kombinationfeld'.", vbInformation)
Set colCBO = New VBA.Collection
Set wks = Worksheets("Tabelle1")
For Each item In wks.OLEObjects
If item.OLEType = XlOLEType.xlOLEControl Then
If 0 = StrComp(item.progID, "FORMS.COMBOBOX.1", vbTextCompare) Then
Call colCBO.Add(item)
End If
End If
Next
'Ausgabe der Namen im Direktbereich (ggf. einblenden über Menü Ansicht im VBA-Editor, oder per STRG+G)
Debug.Print "[ActiveX-Steuerlemente:" & colCBO.Count & "]"
For Each item In colCBO
Debug.Print Spc(1); "Name: '"; item.Name & "'"
Next
Call MsgBox("'" & wks.Name & "' hat " & colCBO.Count & " ActiveX-Steuerelemente vom Typ 'Kombinationfeld'.", vbInformation)
End Sub
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
24.05.2018 09:34:55 |
Matteo |
|
|
|
24.05.2018 09:58:19 |
Gast84104 |
|
|
|
28.05.2018 10:39:07 |
Matteo |
|
|
|
24.05.2018 13:12:52 |
Gast91515 |
|
|
|
24.05.2018 23:56:50 |
Gast16775 |
|
|
Demo für Formular- und ActiveX-Steuerlemente |
25.05.2018 01:25:54 |
Gast54512 |
|
|
|
28.05.2018 11:20:11 |
Matteo |
|
|