使用命令按钮更改多个单元格值

Changing multiple cells values using a command Button

我想弄清楚如何将 3 个不同工作表上的 3 个单元格更改为与命令按钮标题相同的值。如果只有一个命令,我设法让它工作,但似乎无法让它在多个命令上工作。

Private Sub CmdSME100_Click()

    Worksheets("Calculator").Range("I1") = Me.CmdSME100.Caption
    Worksheets("Tariff Matrix").Range("A1") = Me.CmdSME100.Caption
    Worksheets("Bolt-On Matrix").Range("A1") = Me.CmdSME100.Caption

End Sub

就目前而言,这是我要开始工作的代码。而且我似乎无法弄清楚为什么它不能在所有不同的工作表上工作。

我需要它作为我要求代码更改然后触发自动过滤器的单元格。

任何建议将不胜感激。

谢谢

设置一个 sheet 变量来访问它们

Private Sub CmdSME100_Click()
Dim ws As Excel.Worksheet

    Set ws = Application.Worksheets(1)
    ws.Range("I1") = Me.CmdSME100.Caption
    Set ws = Application.Worksheets(2)
    ws.Range("A1") = Me.CmdSME100.Caption
    Set ws = Application.Worksheets(3)
    ws.Range("A1") = Me.CmdSME100.Caption
End Sub

如果您的作品sheet不在同一索引中,您可以按名称搜索它们。

代码看起来像这样。

'Find the worksheet named *BBCOV*
iFoundWorksheet = 0
For iIndex = 1 To Application.ActiveWorkbook.Worksheets.Count
    Set ws = Application.Worksheets(iIndex)
    If UCase(ws.Name) = "BBCOV-PURGED" Then
        iFoundWorksheet = iIndex
        Exit For
    End If
Next iIndex
If iFoundWorksheet = 0 Then
    MsgBox "No worksheet was found with the name BBCOV-PURGED (this is not case sensetive). Aborting."
    GoTo Abort
End If
Set ws = Application.Worksheets(iFoundWorksheet)
ws.Activate

也许你可以试试 "activating" 床单。考虑到 "Calculator" 是 Sheet1,"Tariff Matrix" 是 Sheet2,"Bolt-On Matrix" 是 Sheet 3;

Private Sub CmdSME100_Click()
Sheet1.Activate
Sheet1.Range("A1") = Me.CmdSME100.Caption
Sheet2.Activate
Sheet2.Range("A1") = Me.CmdSME100.Caption
Sheet3.Activate
Sheet3.Range("A1") = Me.CmdSME100.Caption
End Sub

我不认为你能像那样抓住标题。

试试这个:

ActiveSheet.Buttons(Application.Caller).Caption

所以...

Private Sub CmdSME100_Click()
  Worksheets("Calculator").Range("I1") = ActiveSheet.Buttons(Application.Caller).Caption
  Worksheets("Tariff Matrix").Range("A1") = ActiveSheet.Buttons(Application.Caller).Caption
  Worksheets("Bolt-On Matrix").Range("A1") = ActiveSheet.Buttons(Application.Caller).Caption
End Sub