我正在尝试根据初始列中选择的单元格范围从其他列中选择整个单元格范围。
例如,如果选择了A1:A5,我希望代码选择E1:E5。初始范围可以根据用户输入而变化。
仅对代码含义有一些了解:我正在比较学区的RX计划,并且能够选择合适的学区(再次基于用户输入)。我只需要选择E列中的相应RX计划。
到目前为止,我已经能够做出选择,例如,当选择A6:A13时,它会自动越过并选择E6。但是,我需要它来选择E6:E13的全部(或至少使那些细胞成为活动细胞)。
我知道我的问题出在使用ActiveCell.Row
上,因为显然只能选择一行。我只是不知道如何选择整个范围。
请注意,不包括我的全部代码,因为与RX计划一样,这是与此问题相关的唯一代码。
Dim DistrictName As String
Dim DistrictOneRng As Range
Dim rALL As Range
Dim xDistrict As String
Dim ComparisonOption As String
xTitleId = "FindDistrictTool"
xDistrict = Application.InputBox("Enter Your District Name", xTitleId, Type:=2)
ComparisonOption = Application.InputBox("What do you want to compare: RX Plans, Metallic Levels, Number of Plans, Average AV", xTitleId, Type:=2)
Select Case ComparisonOption
Case "RX Plans"
With Worksheets(1).Range("A1:A130")
Set DistrictOneRng = .Find(xDistrict, LookIn:=xlValues)
If Not DistrictOneRng Is Nothing Then
Set rALL = DistrictOneRng
DistrictName = DistrictOneRng.Address
Do
Set rALL = Union(rALL, DistrictOneRng)
Worksheets(1).Range(DistrictOneRng.Address).Activate
Set DistrictOneRng = .FindNext(DistrictOneRng)
Loop While Not DistrictOneRng Is Nothing And DistrictOneRng.Address <> DistrictName
End If
.Activate
If Not rALL Is Nothing Then rALL.Select
End With
Range("E" & (ActiveCell.Row)).Select
答案 0 :(得分:0)
您需要在WORKSHEET代码部分(而不是MODULE)中进行设置,并将其与select ...
where table.code = isnull(nullif('',''),table.code)
select ...
where table.code = isnull(null,table.code)
事件相关。
下面是一个示例代码,当选择Worksheet_SelectionChange
时,它将对单元格 B1 中列为数字的行选择A1:A15
。因此,如果E1
的值为B1
,则宏将选择5
。
我在示例代码的A列中添加了其他组合,例如ANY单元格。希望您可以将其推断出来,以执行各种if条件语句所要执行的操作。
E1:E5