繁体   English   中英

Select 基于在另一个单元格中找到的值的存在的单元格范围

[英]Select range of cells based on existence of a value found in another cell

我是 vba 的新手,我正在尝试编写一个脚本,我想在其中 select 基于另一列中是否存在值的列范围。 因此,例如在下面的矩阵中,我希望能够 select A 列不为空白的 BC 范围,即 B1:C3

    A           B        C
1 12345
2 54321
3 39284
4 <blank>
5 <blank>

引用范围

Option Explicit

Sub ReferenceRangeQuick()
    
    Dim rg As Range
    Set rg = Range("A1:A" & Range("A" & Rows.Count) _
        .End(xlUp).Row).EntireRow.Columns("B:C")
    Debug.Print rg.Address

End Sub

Sub ReferenceRangeStudy()
    
    Const lrCol As String = "A"
    Const sCols As String = "B:C"
    Const fRow As Long = 1
    
    Dim ws As Worksheet: Set ws = ActiveSheet ' improve
    
    ' Last Row
    ' Note that this will return 1 even if there is no data in the column.
    Dim lRow As Long: lRow = ws.Cells(ws.Rows.Count, lrCol).End(xlUp).Row
    If lRow < fRow Then Exit Sub
    Debug.Print "Last Row Number:               " & lRow
    
    ' Last Row Column Range
    Dim lrcrg As Range
    Set lrcrg = ws.Range(ws.Cells(fRow, lrCol), ws.Cells(lRow, lrCol))
    Debug.Print "Last Row Column Range Address: " & lrcrg.Address(0, 0)
    
    ' Source Range
    Dim srg As Range: Set srg = lrcrg.EntireRow.Columns(sCols)
    Debug.Print "Source Range Address:          " & srg.Address(0, 0)

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM