从其他工作表中添加形状文本

时间:2019-11-22 09:09:08

标签: excel vba

我目前有一个小问题。我想出了活动工作表需要的宏,但我希望在另一个工作表中也能发生。当我在下面运行宏时,它不起作用。你们可以看看一下,然后告诉我怎么了吗?

Private Sub CommandButton1_Click()

Dim ws As Worksheet
Set ws = Log

ws.Shapes("Rectangle 1").TextFrame.Characters.Text = "test " & Worksheets("Introductie").Range("D22") & " op " & Now()
ws.Shapes("Rectangle 1").Fill.ForeColor.RGB = RGB(50, 205, 50)

End Sub

如果有任何问题,随时问我。

1 个答案:

答案 0 :(得分:0)

  

“我希望在另一个工作表中也能做到这一点”

尝试类似的东西:

Private Sub CommandButton1_Click()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Sheets(Array("Sheet1", "Sheet2"))
    ws.Shapes("Rectangle 1").TextFrame.Characters.Text = "test " & Worksheets("Introductie").Range("D22") & " op " & Now()
    ws.Shapes("Rectangle 1").Fill.ForeColor.RGB = RGB(50, 205, 50)
Next ws

End Sub

尽管您在下面的评论令人困惑(与最初的问题相矛盾),但是Log可能不是工作表的CodeName,而仅仅是工作表的名称。在这种情况下:

Private Sub CommandButton1_Click()    

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Log")

ws.Shapes("Rectangle 1").TextFrame.Characters.Text = "test " & Worksheets("Introductie").Range("D22") & " op " & Now()
ws.Shapes("Rectangle 1").Fill.ForeColor.RGB = RGB(50, 205, 50)

End Sub
相关问题