Thema Datum  Von Nutzer Rating
Antwort
06.12.2019 00:39:52 Robert
NotSolved
06.12.2019 07:23:33 Torsten
NotSolved
06.12.2019 09:12:24 Gast66923
NotSolved
06.12.2019 10:33:18 Gast42670
NotSolved
06.12.2019 10:35:57 tscharl
*****
Solved
06.12.2019 12:18:47 Robert
NotSolved
06.12.2019 12:46:53 tscharl
NotSolved
Blau CommandButton automatisch generieren und Makro hinterlegen
06.12.2019 14:50:31 Robert
NotSolved
06.12.2019 17:12:51 tscharl
*****
Solved
06.12.2019 19:55:58 Robert
NotSolved
06.12.2019 23:55:41 tscharl
NotSolved
07.12.2019 23:42:05 Robert
NotSolved

Ansicht des Beitrags:
Von:
Robert
Datum:
06.12.2019 14:50:31
Views:
610
Rating: Antwort:
  Ja
Thema:
CommandButton automatisch generieren und Makro hinterlegen

Vielleicht versuche ich es nochmal anders zu beschreiben:

Am Ende soll man auf einen der Buttons klicken können und wechselt auf das entsprechendes Tabellenblatt.
Dabei heißt das Tabellenblatt = der Caption des Buttons = dem Eintrag (Text) in der Zelle. 

Da die Einträge in den Zellen durch vorgelagerte Schritte immer anders sind (aus einer definierten Auswahl von insgesamt 15 Stück), muss jedem Makro (welches das Tabellenblatt wechselt) ja quasi der "Parameter" der Zelle weitergegeben werden. Damit am Ende mit klicken auf den "1.Button" das sheet mit dem Namen des 1. Listeneintrages angezeigt wird. Das gleiche für den 2.Button und den 2.Listeneintrag usw.

Mit "Application.Caller" kenne ich mich leider noch gar nicht aus.

Vielleicht lässt sich das Ganze ja auch auf einem anderen Weg lösen?

Danke im Voraus!

 

Durch tschurl's Hilfe angepasster Code:

Sub generate_Buttons()

'define table for buttons
Set Sheet = ThisWorkbook.Worksheets("Sheet3")

'start values für references --> Cells(row,column)
Dim column As Variant
Dim row As Variant
'set secure values
column = 1 'Refferenz zu den (zu übernehmenden) Zellen
row = 2

'set raw button data
'Dim Button As Variant
Dim NewButton As Object

Dim buttonHigh As Integer
Dim buttonWidth As Integer

Dim actualX As Integer
Dim actualY As Integer

buttonStart = 10 'Abstand zum oberen Rand (des ersten Buttons)
buttonSpacing = 10 'Abstand zum nächsten Button

buttonHigh = 20
buttonWidth = 200

actualX = 150 'Abstand zum linken Rand
actualY = buttonStart

' process last valued cell
lastRow = Sheet.Cells.SpecialCells(xlCellTypeLastCell).row

'error exception for empty table
If lastRow = Emtpy Then
        'bricht aktuelle Sub ab
    Else
        For actualRow = row To lastRow
            'generate a new button
            Set NewButton = Sheet.Buttons.Add(actualX, actualY, buttonWidth, buttonHigh)
                NewButton.Caption = Sheet.Cells(actualRow, column).Value

                NewButton.Font.Bold = True
                NewButton.OnAction = "Zu_Blatt_XY_wechseln"
                
            'prepare for next generated button

            actualY = actualY + buttonHigh + buttonSpacing
        Next
End If
End Sub

Sub Zu_Blatt_XY_wechseln()
    Debug.Print Application.Caller
    Dim strString As String
    strString = CStr(Application.Caller)
    Sheets(strString).Select
End Sub

 


Ihre Antwort
  • 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: Name: Email:



  • 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
06.12.2019 00:39:52 Robert
NotSolved
06.12.2019 07:23:33 Torsten
NotSolved
06.12.2019 09:12:24 Gast66923
NotSolved
06.12.2019 10:33:18 Gast42670
NotSolved
06.12.2019 10:35:57 tscharl
*****
Solved
06.12.2019 12:18:47 Robert
NotSolved
06.12.2019 12:46:53 tscharl
NotSolved
Blau CommandButton automatisch generieren und Makro hinterlegen
06.12.2019 14:50:31 Robert
NotSolved
06.12.2019 17:12:51 tscharl
*****
Solved
06.12.2019 19:55:58 Robert
NotSolved
06.12.2019 23:55:41 tscharl
NotSolved
07.12.2019 23:42:05 Robert
NotSolved