我需要在返回到首页的每张图纸的左上角(A1)放置一个按钮。我无法在所有工作表上添加它-它在第一张工作表之后停止。
以下是我的想法。
Sub addhome()
Dim btn As Button
Dim t As Range
For Each sh In Worksheets
Set t = sh.Range("A1")
Set btn = sh.Buttons.Add(t.Left, t.Top, t.Width, t.Height)
With btn
.OnAction = "GotoHome"
.Caption = "Home"
.Name = "Home"
End With
Next sh
MsgBox ("done")
End Sub
当我打开一个新工作簿并制作一些虚拟工作表时,它可以工作,但是当我尝试在现有工作簿上进行工作时,它只会在第一工作表上添加一个按钮。
答案 0 :(得分:0)
我找到了解决这种情况的方法-希望它将对以后的人有所帮助。
Sub addhome()
Dim btn As Button
Dim t As Range
Dim sh As Worksheet
For Each sh In Worksheets
Debug.Print sh.Name
If sh.Name = "All" Then
Else
Set t = sh.Range("A1")
Set btn = sh.Buttons.Add(t.Left, t.Top, t.Width, t.Height)
With btn
.OnAction = "GotoHome"
.Caption = "Home"
.Name = "Home"
End With
End If
Next sh
MsgBox ("done")
End Sub
我只是使用IF-THEN来避免问题表而打其他所有问题。希望我昨天会想到的。我知道可以使用更简单的方法来进行复制,但是我面临着寻找最普遍准确的方法的挑战。我认为这已经接近了。感谢您的所有帮助。