[英]VBA Excel: How to assign range of cells to another range of cells?
[英]How to assign a value to a Range created with Cells() in VBA
我想使用Range
為多個單元格分配一個值。 我必須使用變量定義范圍,這就是我使用Cells()
參數的原因,但是當我使用Cells
創建 Range object 時,編譯器返回 1004 錯誤(應用程序定義或對象定義錯誤)。 不使用變量時也會發生錯誤,例如Range(Cells(0,0), Cells(1,0))
。
這是我的代碼
Dim Offset1 As Integer: Offset1 = 0
Dim Offset2 As Integer: Offset2 = 1
With ThisWorkbook.Worksheets("Sheet1")
.Range(.Cells(Offset1, 0), .Cells(Offset2, 0)).Value = "NewValue"
End With
關於您的嘗試有幾個問題,但讓我為您說明一下。
如果你想使用.Range()
方法,那么它需要一個合格的單元格范圍作為參數。
這是預期的(顯然在With
語句中)......
.Range("A1:B10").Value = "NewValue"
...如果您想要類似的東西但希望它有點動態,那么指定的這將產生相同的結果。 您需要使用.Address
以及適當的行/列單元格引用。
.Range(.Cells(1, 1).Address & ":" & .Cells(10, 2).Address).Value = "NewValue"
.Cells(1, 1)
= 單元格 A1
.Cells(10, 2)
= 單元格 B10
如果你想偏移一個特定的單元格,那么你需要一個適當的單元格引用開始。 例如,如果您想要從單元格 B10 向右 2 列和向下 5 行,您可以這樣做...
.Cells(10, 2).Offset(5, 2).Address
您應該能夠使其適應您的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.