Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Buttons per Script



Excel-Version: 10.0 (Office XP)

Betrifft: Buttons per Script
von: Chris
Geschrieben am: 10.06.2002 - 12:53:29

Hallo,
gibt es eine Möglichkeit per Script die Bezeichnungen der Arbeitsblätter auszulesen und daraus Buttons auf einem UserForm zu hinterlegen, bei denen ich dann über
Sheets("Name").Select
Range("A1").Select
die Blätter ansteuern kann?

Ich habe schon den folgenden Tip bekommen:

--------------------------------------------
Option Explicit
Private Sub UserForm_Initialize()
Dim ctrBut As MSForms.CommandButton
Dim bytSheet As Byte
For bytSheet = 1 To Sheets.Count
Set ctrBut = Me.Controls.Add("Forms.CommandButton.1")
With ctrBut
.Left = 55 * (bytSheet - 1)
.Top = 25 * (bytSheet - 1)
.Width = 50
.Height = 20
.Caption = Sheets(bytSheet).Name
End With
Next bytSheet
End Sub
--------------------------------------------

jedoch möchte ich vier Buttons pro Reihe und die Buttons sollen einen Befehl wie

Sheets("Name").Select
Range("A1").Select

ausführen.

Danke & Gruß
Christian

  

Re: Buttons per Script
von: Rainer
Geschrieben am: 10.06.2002 - 13:48:47

Lieber Christion!

Ich würde das nicht so kompliziert machen - Was ist, wenn du z.B. einmal 35 Tabellenblätter hast, oder nur 5? Da musst du u.a. auch die Größe das Userforms verändern.

Warum liest du die Tabellenblätter nicht in eine Listbox oder eine ComboBox ein und lässt dann das Makro mit einem Button starten?


'Code für Userform:
Option Explicit

Private Sub UserForm_Initialize()
Dim wks As Worksheet
    ' Einlesen aller Tabellenblätter in die ComboBox
    For Each wks In Worksheets
         UserForm1.ComboBox1.AddItem wks.Name
    Next wks
End Sub

Private Sub CommandButton1_Click()
    With UserForm1.cmb_Tabellen
        ' Worksheets("der ausgewählte Eintrag").select
        Worksheets(.List(.ListIndex)).Select
        Cells(1, 1).Select
        .....
    End With
End Sub

Lieben Gruß
Rainer

 

Beiträge aus den Excel-Beispielen zum Thema "Buttons per Script"