【问题标题】:How to run macro over cell selection instead of ActiveCell如何在单元格选择而不是 ActiveCell 上运行宏
【发布时间】:2019-09-23 15:38:31
【问题描述】:

您好,我想在选定的单元格而不是单个单元格上运行“带有命令按钮”的宏。

下面显示的代码适用于单个单元格,但我希望它在选择范围内运行。

附:我只在代码中显示了 1 个 If 语句,其中有 100 个。

Private Sub CommandButton1_Click()

x = ActiveCell.Value * 2

If x > 0 And x < 200 Then
y = 290 
End If 


ActiveCell.Offset(0,1) = y

我希望宏在选定的单元格上运行。

我试过了:Selection.Offset(0,1) 但这不起作用

【问题讨论】:

  • 什么样的选择?行、列、块?
  • 请注意 "didn't work" 不是有用的错误描述。
  • 主要在一个列中,但是。我希望它通过拖动鼠标应用的选择

标签: excel vba


【解决方案1】:

尝试以下子。根据需要进行修改。

Sub RunSelection()
Dim cel As Range
Dim x As Double

    For Each cel In Selection
    x = cel.Value * 2
        If x > 0 And x < 200 Then
            cel.Offset(0, 1) = 290
        End If
    Next cel

End Sub

【讨论】:

  • 能否详细说明如何实现多个if语句?
  • 谢谢这个“修改”代码有效,但是我想问一下,在它通过所有单元格运行代码后如何清除它的内存?
猜你喜欢
  • 1970-01-01
  • 2011-10-10
  • 2015-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-28
  • 2010-10-20
相关资源
最近更新 更多