通过鼠标select一个范围并设置参数

我正在尝试使用Excel 2010 VBA执行以下操作:

  1. 在表单上设置切换button。
  2. 移动到工作表
  3. 使用鼠标来select单元格的组(范围)
  4. 将单元格参数(背景颜色)设置为切换button的背景颜色。 。 。 继续select单元格或取消select切换button。

我到目前为止是这样的,但我得到一个全球性的范围错误的行设置颜色:

Public Sub ToggleButton1_Click() Dim ActRange As Range Dim ActSheet As Worksheet Dim bgndColour As Variant bgndColour = ToggleButton1.BackColor Set ActSheet = ActiveSheet Set ActRange = Selection ActSheet.Select ActRange.Select Range(ActRange).Interior.Color = bgndColour End Sub 

ActRange已经是一个范围。 不需要使用Range()对象

尝试这个

 ActRange.Interior.Color = bgndColour 

你的代码可以减less到

 Public Sub ToggleButton1_Click() If TypeName(Selection) <> "Range" Then MsgBox "Select a range first." Exit Sub End If Selection.Interior.Color = ToggleButton1.BackColor End Sub 

我不喜欢添加不必要的行,我看到你可以恢复你的代码

 Selection.Interior.Color = bgndColour 

如果这不起作用你的bgndcolourvariables是什么错误