2017-08-30 1 views
2

In meinem Tool versuche ich, eine Form zu erstellen, benennen Sie es um, verschieben Sie es mit den Verschiebungsbreiten von Spalten, und verknüpfen Sie es mit einem Übersichtsblatt. Das habe ich bisher, danke im Voraus.VBA - Erstellen, Bearbeiten und Hyperlink Shape

For s = 7 To Sheets.Count 
    With Sheets(s) 
     Dim GoToSummary As Shape 
     Set GoToSummary = .Shapes.AddShape(msoShapeRoundedRectangle, 400, 153 + 12.75 * 2, 300, 50) 

     .Shapes(GoToSummary).TextFrame.Characters.Text = "Go Back To Summary" 
    End With 
Next s 

Ich weiß, das ist nicht korrekt, deshalb bin ich am erreichen, weil ich nichts ähnliches zu meiner Situation finden konnte.

Antwort

2

Sie waren ziemlich nah!

Sub test() 
Dim GoToSummary As Shape 

For s = 7 To Sheets.Count 
    Set GoToSummary = Sheets(s).Shapes.AddShape(msoShapeRoundedRectangle, 400, 153 + 12.75 * 2, 300, 50) 
    GoToSummary.TextFrame.Characters.Text = "Go Back To Summary" 
    Sheets(s).Hyperlinks.Add Anchor:=GoToSummary, Address:="", SubAddress:="Summary!A1" 
Next s 

End Sub 
  • Dim GoToSummary außerhalb der Schleife
  • Sobald Sie GoToSummary mit Set definiert haben, können Sie nur direkt darauf verweisen, dh als GoToSummary statt .Shapes(GoToSummary)
  • Added der Hyperlink als auch
+0

Großartig, nur eine Frage, wie behalte ich die Form die gleiche Größe. Einige Blätter haben breitere Spalten als andere, was einige breiter macht als andere. –

+2

Vor der Hyperlink-Zeile versuchen Sie, GoToSummary.Placement = xlMove' und 'GoToSummary.Width = 300' hinzuzufügen –

Verwandte Themen