這可能很簡單,但我最近剛開始使用VBA。所以我定義了大約10行的單列範圍,並將其命名爲CB_CL_Values
。如何更改指定範圍內的特定值
可以說範圍{1,2,1,3,2,1,1,1,1,3}
而現在它的成立範圍的每一個值更改爲1
Sub Unit_Options_Reset()
Range("CB_CL_Values") = 1
End Sub
可以說,我只想4
更改值,以該範圍的10
和離開第一個3
,因爲它們是。我怎麼寫這個?
這可能很簡單,但我最近剛開始使用VBA。所以我定義了大約10行的單列範圍,並將其命名爲CB_CL_Values
。如何更改指定範圍內的特定值
可以說範圍{1,2,1,3,2,1,1,1,1,3}
而現在它的成立範圍的每一個值更改爲1
Sub Unit_Options_Reset()
Range("CB_CL_Values") = 1
End Sub
可以說,我只想4
更改值,以該範圍的10
和離開第一個3
,因爲它們是。我怎麼寫這個?
Range("CB_CL_Values").cells(4).Resize(7,1).Value=1
Range("CB_CL_Values").cells(4)
是您定義範圍內的第4個單元格。默認情況下,Cells(r)
(帶一個參數)將第r個單元格在整個範圍內進行計數,然後在您的範圍內進行計算,所以如果您的範圍超過一列寬度,則應使用Siddharth的符號(例如).Cells(r,1)
(第r'行,第1列)。
需要注意的是,如果你試圖解決一個cewll這在技術上是不是在你的範圍例如爲:
Range("A1:A10").Cells(20)
Excel將不會抱怨代碼將引用A20。
.Resize(7,1)
需要該第四小區和擴展的範圍內,以在高度7行和一列寬(調整大小總是向下展開,並從起點向右)
+ 1 Phew!最後:D –
您可以使用該範圍的.Cells
屬性來尋址單個單元格。對於多個單元格,您可以使用循環。
Range("CB_CL_Values").Cells(r, 1).Value = "Something"
哪裏r
是說3
第三排。
'範圍(「CB_CL_Values」)。細胞(4 ).Resize(7,1).Value = 1'或'Range(Range(「CB_CL_Values」)。cells(4),Range(「CB_CL_Values」)。cells(10))''假設activesheet是你的命名範圍正在坐。 –
+ 1 @TimWilliams:我也想過調整大小,但這對於非連續的單元格不起作用。例如,1,4,7 –
正確 - 但如果它是一個多區域範圍,那麼您的Cells()方法也有問題;-)如果我將範圍「tester」定義爲「A1,A3」,那麼單元格(2, 1)是A2 ... –