通过鼠标选择范围并设置参数

时间:2013-12-17 22:10:58

标签: excel vba excel-vba

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

  1. 在表单上设置切换按钮。
  2. 转到工作表
  3. 使用鼠标选择单元格(范围)
  4. 将单元格参数(背景颜色)设置为切换按钮的背景颜色 。 。 。 继续选择单元格或取消选择切换按钮。
  5. 到目前为止,我有这个但是在设置颜色的行上出现全局范围错误:

    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
    

2 个答案:

答案 0 :(得分:1)

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

试试这个

ActRange.Interior.Color = bgndColour

您的代码可以缩减为

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

答案 1 :(得分:1)

我不想添加不必要的行,我看到你可以在

中恢复你的代码
Selection.Interior.Color = bgndColour

如果这不起作用,那么你的bgndcolour变量

是错误的