我想知道是否有任何方法可以更改運行宏的範圍?例如,如果我有:更改運行宏的範圍
Public rng1 As Range
在宏1
和 Set rng1 = Range("K10").Offset(i, 0)
,我想改變位置,以1元到正確的 - 用macro2 - 某事像這樣:
Set rng1 = rng1.Offset(0, 1)
我的意思是,那甚至有可能?或者有另一種方法來做到這一點?
整個代碼:
Public rng1 As Range
Sub tert()
Dim rng As Range
Dim rnga As Range
Dim i As Integer
i = 0
Do
DoEvents
Set rng1 = Range("K10").Offset(i, 0)
Set rng = Range("J10").Offset(i, 0)
Set rnga = Union(rng, rng1)
rng.Interior.ColorIndex = 3
rng1.Interior.ColorIndex = 3
rng.Offset(-4, 0).clear
rng1.Offset(-1, 0).clear
i = i + 1
Application.Wait (Now + TimeValue("00:00:01"))
If Not Intersect(Range("A30:Z30"), rnga) Is Nothing Then Exit Sub
If rng.Offset(1, 0).Interior.ColorIndex = 3 Then Exit Sub
Loop
End Sub
Sub rightx()
Set rng1 = rng1.Offset(0, 1)
End Sub
您試過嗎?當你嘗試你提出的建議時發生了什麼?這就是其中一種情況,就是你要問的時間,你已經有了答案。現在,如果你嘗試了它,但它不工作,那是一個單獨的問題...... – sous2817
讓我告訴你一個祕密,是的,它的工作原理:)你可以使用'Debug.Print rng1.Address'和在眼前的窗口看到它 –
y我試過了,會發生什麼是...完全沒有:) – Pawel