【问题标题】:How to refer to a selected block of cells in vba excel如何在vba excel中引用选定的单元格块
【发布时间】:2020-12-25 09:01:57
【问题描述】:

如何在代码中引用活动工作表中选定的单元格区域。 澄清一下,我不是在问如何选择单元格范围。

有没有 ActiveRange ActiveRegion 之类的? 我还没找到……

例如,(不工作)这里是一个简单的子:

Sub test()
    Dim region, cel As Range
    
    region = ActiveCell.CurrentRegion
    For Each cel In region
        cel = 1
    Next cel
    
End Sub

【问题讨论】:

标签: excel vba


【解决方案1】:

几点说明: 定义所有变量类型,如果选择了 Range,则 Selection 已经是 Range。请注意它可能会返回其他对象,因此您应该在使用它之前检查返回的对象类型

Read this

Public Sub LoopActiveRange()

    Dim sourceCell As Range

    For Each sourceCell In Selection
        sourceCell = 1
    Next sourceCell

End Sub

【讨论】:

    【解决方案2】:

    要使用选定的单元格,请使用 Selection property (Excel) MSDN

    示例

    Option Explicit
    Public Sub Example()
        Dim rng As Range
        
        For Each rng In Selection
            DoEvents
            rng.Value = "value"  ' adds a to all selected cells
        Next
    
    End Sub
    

    备注
    返回的对象类型取决于当前的选择(例如,如果选择了一个单元格,则该属性返回一个 Range 对象)。如果未选择任何内容,则 Selection 属性返回 Nothing。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-25
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      • 2013-06-11
      • 1970-01-01
      相关资源
      最近更新 更多