[英]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.