1
我的劇本的全部工作,但有它的一個部分,我想「音」和簡化。如果其中一個單元格遇到特定條件,我將刪除突出顯示的三個值。我將相同的WITH語句應用於所有三個單元格。修剪它以選擇所有三個值是很好的,所以我可以將它減少到只有一個循環。簡化範圍
我包括爲簡單起見,從而忽略丟失的定義腳本的唯一重要組成部分。
For Each rngCell In NetworkPatchRange
If InStr(rngCell.Value, "-") > 0 Then
rngCell.Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
rngCell.Offset(0, -1).Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
rngCell.Offset(0, -2).Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
Next
所以,讓我打破你下來看看,如果我理解這一點。 cbool是一個返回true或false的布爾命令,在這種情況下,我們希望它返回true。 chr(45)指的是ASCII值45,意思是「 - 」。 不過,我不明白爲什麼InStr函數以「1」開始了。 此外,rngCell.offset(0,-2)調整(1,3)意味着我們要到最遠的偏移值和調整我們的偏移範圍,包括3個細胞向右? – StrictlyBananas
1. Instr有一個可選的起始位置作爲第一個參數。它默認爲1,所以有些人不會把它放進去;我總是把它放進去。 2.是的,調整大小從左到右移動,所以我們必須從最左邊的單元格(帶偏移量)開始,所以*向左移動兩列,並將它變成三列寬度.. .. – Jeeped
謝謝。我對VBA相當陌生,一直很喜歡學習它。 – StrictlyBananas