2016-12-12 8 views
0

Ich habe einen "Release" -Button, der: Nummern bestimmten Zellen zuweist, Zahlen zählt, PDF-Dokumente erstellt, Verlaufsmarken erstellt und so weiter.Automatisch generierte Tasten basierend auf Zahlenwerten mit verschiedenen Makros

Ich muss Tasten mit verschiedenen Makros basierend auf Zahlenwert automatisch generieren.

Zum Beispiel:

Wenn Zielzellenwert = 4, dann erstellen 4 Tasten mit Makro zugewiesen 1, 2, 3, 4.

Wenn Wert = 5, dann 5 Tasten und ordnet Makro 1 , 2, 3, 4, 5 und so weiter.

Jedes zugewiesene Makro wird unterschiedlich sein. (Die maximale Anzahl der Tasten sollte 20 sein.)

+1

Können Sie Ihr versucht Code liefern bitte. – Brad

+0

Hm, das ist ein Problem, ich weiß nicht wo ich anfangen soll. Vielleicht könnte es VBA-Formular sein, wo Schaltflächen generiert werden? Ich weiß es nicht wirklich. Ich bin VBA Anfänger. http://imgur.com/3yGxByg – Nataniell

+0

Werfen Sie einen Blick auf meine Antwort. Dies sollte den Trick machen. – Brad

Antwort

1

Innerhalb Ihres Blattes sollten Sie die 20 Tasten erstellen. Von hier aus weisen Sie sie ihrem Makro mit gleichem Wert zu und verstecken sie alle. Von hier aus können Sie eine Schleife ausführen, um die Sichtbarkeit für Ihren aktuellen Zielzellenwert zu aktivieren. In diesem Fall A1.

Dim MyVal As Long 
MyVal = Range("A1").Value 

For i = 1 To MyVal 
    ActiveSheet.Buttons("Button " + CStr(i)).Visible = True 
Next i 
+0

Hm und wo sollte ich diesen Code? :) Und wie kann ich steuern, welche Tasten sich verstecken möchten? Ich habe mehrere Knöpfe auf meinem Blatt und möchte nicht alles verstecken. THx – Nataniell

+0

@Nataniell in der oberen linken Ecke können Sie den Namen der Schaltfläche sehen und sie auch umbenennen. In dem von mir bereitgestellten Szenario müssen Sie die 20 Schaltflächen, die Sie im Sinn hatten, von "Schaltfläche 1" bis "Schaltfläche 20" benennen und sie jedem Ihrer Makros zuweisen. Dieser Code gehört zu einem Sub() und Sie können ihn mit einer anderen Schaltfläche ausführen, wenn Sie möchten. Sie können die Anzahl der angezeigten Schaltflächen steuern, indem Sie einen Wert in A1 eingeben. – Brad

+0

Ich versuche immer noch, aber wenn ich die Zahl auf A1 setze, habe ich Debug-Fehler: Objekt unterstützt diese Eigenschaft oder Methode "ActiveSheet.Shapes (" Button "+ CStr (i)). Visible = True" – Nataniell

0

Sie finden das Löschen usw. sortieren müssen, aber so etwas wie dieses

Sub SortButtons() 

Dim intButton As Integer 
Dim cbNewButton As Button 

Const intHeight = 30 

For intButton = 1 To 4 
    Set cbNewButton = ActiveSheet.Buttons.Add(224.25, (intButton * intHeight) + 20, 90.75, intHeight) 
    cbNewButton.OnAction = "Macro" & intButton 
    cbNewButton.Text = "Button for Macro " & intButton 
    cbNewButton.Name = "OK_TO_DELETE_" & intButton 
Next intButton 

End Sub 
+0

Das sieht gut aus, aber ich brauche die Kontrollzahl der Knöpfe nach Zellenwert. Wenn A1 = 4, dann habe ich 4 Tasten. Wenn A1 = 3, dann habe ich 3 Tasten und jede Taste hat ein anderes Makro. Schauen Sie sich http://imgur.com/a/Ms86r – Nataniell

+1

schauen Sie, wie Brandons die Schleife Anstiftung gemacht, ich denke, wenn Sie nicht wissen, wie man das anpackt, sollten Sie zuerst ein wenig darüber lesen, was der vorgeschlagene Code auch tut . –

Verwandte Themen