我正在嘗試通過 VBA 將不規則單元格添加到選擇中。
在下面的代碼中,作業表的 E 列中有一些標有 1 的單元格。它應該遍歷該列并制作一個選擇字串,然后使用該字串選擇 A 列中的相應單元格,作為單個選擇塊。
我的問題是輸出字串只有在我將其轉儲到備用單元格時才有效,然后手動將其復制到 VBA 中。
任何想法表示贊賞!
Sub AddToSelection()
Dim B As Worksheet, SelectString As String, RX As String
Set B = ActiveSheet
For C = 1 To 20
If B.Cells(C, 5) = 1 Then
If RX = "" Then
RX = """" & "A" & B.Cells(C, 5).Row
Else
RX = RX & "," & "A" & B.Cells(C, 5).Row
End If
End If
Next C
RX = RX & """"
Range(RX).Select 'does NOT work
''''BUT
B.Cells(1, 10) = RX ' I dump RX into a cell
SelectString = "A3,A5,A8" ' this copied manually from cell above, so is exactly RX
Range(SelectString).Select 'now it works
End Sub
uj5u.com熱心網友回復:
您的引號已關閉(不應添加""""到開頭和結尾),但在這里使用要好得多Union:
For C = 1 To 20
If B.Cells(C, 5) = 1 Then
Dim rng As Range
If rng Is Nothing Then
Set rng = B.Cells(C, "A") ' or B.Range("A" & C)
Else
Set rng = Union(rng, B.Cells(C, "A"))
End If
End If
Next C
If Not rng Is Nothing Then
rng.Select
End If
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/521978.html
標籤:擅长vba
