背景
我的代碼不超過範圍有些循環中除去細胞,但是,每個相互作用應在的範圍內不包括剛剛執行的細胞上進行。我認爲更簡單的方法是從存儲的範圍中刪除單元格。
問題
我一直沒能找到一種方法,從存儲對象中刪除單元格
代碼
的問題是一般,但是,對於問題它會像從範圍(對象)
Sub Sample()
Dim RangeToAnalyze As Range
Dim CounterRange As Long
Dim ExcludeCell As Range 'sample on what is desired to achieve
Set RangeToAnalyze = Selection 'this is based on some other criteria but, in order to reproduce it easier that's why selection
For CounterRange = 1 To 5
Set ExcludeCell = RangeToAnalyze.Find("text")
'now here I would like to find the next cell, but it should exclude the first one in order to go to the next one
Set RangeToAnalyze = RangeToAnalyze.Exclude(ExcludeCell) 'this is what I want to do, so when looping it could jump to the next find (This function is "sample" this is what I am looking to do
Next CounterRange
End Sub
時據我所知,沒有本地的方式來做這個功能。儘管你有幾個選擇。你可以創建一個UDF,它將從一個範圍中刪除一個單元格,你可以改變你如何定義你的範圍,或者你可以像平常一樣循環範圍,並檢查「文本」,如果單元格包含文本那麼不要在該單元上運行代碼,循環跳到下一個。我個人推薦最後一個選項,它將需要對當前代碼進行最少量的調整,並且仍然可以快速運行。 – tigeravatar
我想UDF是一種方法,你只是給了我一個關於如何去做的想法。太糟糕了,沒有辦法以本地方式來做到這一點。 – Sgdva
你不會喜歡這個答案,但是你將不得不做一堆'Intersect'或'Union'。你想找到第五個「文本」嗎? – Slai