-1
下面提到的代碼是由@simoco寫的。我需要一個小的更正。該代碼適用於兩個範圍。我希望代碼只能運行列A:E
。換句話說,如果我在A:E
以外的任何列中選擇一個單元格,那麼當代碼運行時,只會選擇兩個單元格。我不希望這種情況發生。如果我選擇A:E
中的任何單元格,我想要選擇A:E
。如果我不選擇A:E
列的單元格,然後代碼不應該運行和消息框應顯示:更正VBA代碼
msgbox("Please select a cell in columns A:E").
請幫助。
的代碼是:
Sub test1()
Dim rng As Range
Dim ar As Range
Dim rngAE As Range, cell As Range
With Selection
For Each ar In .Areas
If rng Is Nothing Then
Set rng = ar.Resize(1, 2)
Else
Set rng = Union(rng, ar.Resize(1, 2))
End If
Next ar
Set rngAE = Intersect(.Cells, Range("A:E"))
If Not rngAE Is Nothing Then
For Each cell In rngAE
Set rng = Union(rng, Range("A" & cell.Row & ":E" & cell.Row))
Next cell
End If
End With
rng.Select
End Sub
ARich您好,感謝您的回覆。我修改了代碼。但在我的代碼中,我希望這個被刪除。我的意思是我不想讓這些代碼工作。 Set rng = ar.Resize(1,2) Else Set rng = Union(rng,ar.Resize(1,2)) End If .... – user3340121
嗨ARich,再次感謝。我再次檢查。它工作完美。再次感謝你。 – user3340121