Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
404to408
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
404to408
404to408
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Alle Makros einer Tabelle in einer Combobox
Eugen
Forum
würde gerne ein Makro erweitern, so das alle Makros in einer ComboBox zur Auswahl stehen.
wer kann helfen?
herzlichen dank
eugenS
mein kläglicher Versuch:

Sub cboMacros_Click()
Dim iRow As Integer
Dim objWB As Object
cboMacros.Clear
For Each objWB In ThisWorkbook.VBProjekt.VBComponents.CodeModule
With objWB.CodeModule
For iRow = 1 To .CountOfLines
If .ProcOfLine(iRow, 0) > "" Then
If .ProcBodyLine(.ProcOfLine(iRow, 0), 0) = iRow Then
cboMacros.AddItem .ProcOfLine(iRow, 0)
End If
End If
Next iRow
End With
Next
End Sub

und das Original von Hans Herber

Sub cboMacros_DropButtonClick()
Dim iRow As Integer
cboMacros.Clear
With ThisWorkbook.VBProject.VBComponents("BasMain").CodeModule
For iRow = 1 To .CountOfLines
If .ProcOfLine(iRow, 0) > "" Then
If .ProcBodyLine(.ProcOfLine(iRow, 0), 0) = iRow Then
cboMacros.AddItem .ProcOfLine(iRow, 0)
End If
End If
Next iRow
End With
msgbox "Makros wurden eingelesen!"
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Alle Makros einer Tabelle in einer Combobox
Ramses
Hallo
schon gar nicht schlecht adaptiert ;-)
Es muss nur eine Zeile geändert werden.
Option Explicit

Private Sub CommandButton1_Click()
Dim iRow As Integer
Dim objWB As Object
Me.cboMacros.Clear
'Diese Zeile ist neu
For Each objWB In ThisWorkbook.VBProject.VBComponents
With objWB.CodeModule
For iRow = 1 To .CountOfLines
If .ProcOfLine(iRow, 0) > "" Then
If .ProcBodyLine(.ProcOfLine(iRow, 0), 0) = iRow Then
Me.cboMacros.AddItem .ProcOfLine(iRow, 0)
End If
End If
Next iRow
End With
Next
End Sub

Gruss Rainer
Danke (m.T)
eugenS
hallo reiner
herzlichen dank. auch für die aufmunternden worte. tun mir gut.
du hast noch ein Me. vor cboMacros gesetzt. darf ich fragen was man damit erreicht.
gruss eugenS
Anzeige
Merci :-)
Ramses
Hallo
"Me" referenziert auf die gerade ausführende Userform als Object.
Dann wird dir, wenn du den Code "Me." im VB-Editor eingibst, alles vorgeschlagen, was darin enthalten ist, und brauchst nicht alles von Hand zu schreiben.
Es gibt einige die sagen, das sei nicht nötig, aber wenn es das schon gibt, dann spare ich mir wenigsten Schreibfehler :-)
Gruss Rainer
AW: Merci :-)
eugenS
hallo rainer
stein für stein
merke langsam wo die hunderte wenn nicht schon tausende von mannjahren, die in excel investiert worden sind, hingewandert sind. toll. noch eine gute nacht oder wenn ich zu spät bin einen wunderschönen tag.
gruss eugen
Anzeige

278 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige