Var hittar jag ID-värden till verktygsfältsknappar, när min version av Excel 2000/VBA inte verkar ha det hjäpavsnittet? Jag hittade detta på nätet.ID_värden till verktygsfält i VBA
Sv: ID_värden till verktygsfält i VBA
Option Explicit
Sub Lista_Alla_Verktygsfält_Kontrollers_NamnIDnr()
'© 2002 Alla rättigheter XL-Dennis
Dim cbVFalt As CommandBar
Dim cbKontroll As CommandBarControl
Dim RnCell As Range
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
On Error Resume Next
With ActiveWorkbook
.Worksheets("Menynamn och ID-nummer").Delete
.Worksheets.Add
End With
ActiveSheet.Name = "Menynamn och ID-nummer"
Set RnCell = Range("A1")
For Each cbVFalt In Application.CommandBars
'Här skrivs verktygsfältens namn och indexnummer ut.
With RnCell
.Font.Bold = True
.Value = cbVFalt.NameLocal & " " & "ID-nr:" & cbVFalt.Index
End With
For Each cbKontroll In cbVFalt.Controls
Lista_Kontroller RnCell, cbKontroll
Next cbKontroll
Next cbVFalt
Columns("A:B").EntireColumn.AutoFit
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
End Sub
Sub Lista_Kontroller(rnMal As Range, cbKontroll As CommandBarControl)
'© 2002 Alla rättigheter XL-Dennis
Dim cbKontroller As CommandBarControl
On Error GoTo Felhantering:
Set rnMal = rnMal(2, 1)
'Här skrivs kontrollernas namn och ID-nr ut för respektive vertygsfält.
rnMal.Value = cbKontroll.Caption
rnMal(1, 2).Value = cbKontroll.ID
For Each cbKontroller In cbKontroll.Controls
Lista_Kontroller rnMal, cbKontroller
Next cbKontroller
Felhantering:
'För att komma ur For Each-satsen...
End Sub
Jag har testat och det funkade bra.
Hämtat från
http://www.xldennis.com/listavfaltkontroller(vba).htm