2015-11-30 58 views
0

我記錄了下面的代碼以供我的宏使用,但只有在該範圍永不改變時纔有用。用於公式的變量範圍

因爲範圍每次運行時都會改變,我怎樣才能將「A1:E2」變成變量來說明變化範圍?

我不認爲xlLastCell在這種情況下是正確的用法。

我知道如何獲得結束單元格的列號和行號,但我無法弄清楚如何將它結合到我的代碼中。

ActiveCell.Offset(2, 0).Range("A1:E2").Select 
Selection.FormulaR1C1 = "0" 
+1

你的目標是?你想在每個單元格中獲得零,直到xllastcell? – ZygD

+0

這可以概括爲'ActiveCell.Range(「A3:E4」)。Formula =「0」'或者如果你試圖用0代替表中的所有內容,你可以使用'UsedRange.Formula =「0 「' – R3uK

回答

1

我知道怎麼去結束單元格的列數和行號,但我無法弄清楚如何將此主題融入我的代碼。

像這樣:

Dim myRange as Range 
Set myRange = Range(Cells(1,1), Cells(lastRow, lastColumn)) 
myRange.FormulaR1C1 = "0" 

在上面的代碼,myRange由兩個單元,一個在(1,1)(第1行,第1列),另一個在定義(LASTROW,lastColumn)這將成爲您確定爲結尾行/列的可變因素。

+0

謝謝@戴維澤姆斯幫助了很多!下面是我的代碼變體,它給了我需要的變量範圍。 '昏暗myRange作爲Range''Application.Goto參考:= 「Beginning_Month」'' = wsBeginning_Zeroes_Row + wsBeginning_Date_Row 2' 'wsEnding_Zeroes_Row = wsBeginning_Date_Row + 3' '設置myRange =範圍(將細胞(wsBeginning_Zeroes_Row,wsBeginning_Date_Column),將細胞( wsEnding_Zeroes_Row,wsNew_Date_Column - 1))' 'myRange.FormulaR1C1 =「0」' – lindqmx1