【发布时间】:2019-07-18 22:42:24
【问题描述】:
我正在尝试根据在初始列中选择的单元格范围从不同列中选择整个单元格范围。
例如,如果选择了 A1:A5,我希望代码选择 E1:E5。初始范围可能因用户输入而异。
只是代码含义的一些背景知识:我正在比较学区的 RX 计划,并且我能够选择合适的学区(再次基于用户输入)。我只需要在 E 列中选择相应的 RX 计划。
So far, I have been able to make something that when, for example, A6:A13 is selected, it automatically goes over and selects 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
【问题讨论】: