2014-02-27 115 views
0

我需要將一系列單元格複製到指示第一個單元格的另一個範圍中。類似的東西:VBA Excel Range to cell

.Cells(1,1) = .Range("B1:B5") 

有些幫助,它不工作,我是全新的VBA Excel!

+1

'.Range(「B1:B5」).Cells(1,1)' –

+1

它可以沒有使用複製功能嗎?這是一個非常龐大的工作簿,我需要複製大量的數據,並且我已經讀過使用這個函數並不是一個好主意。 – Pablo

+0

它也複製格式... – Pablo

回答

1

我不知道究竟你想複製或到什麼,但是......

With Workbooks("Book1").Worksheets("Sheet1") 
    .Cells(1, 1).Value = .Range("B1").value 
End With 

將複製單元格B1的內容,單元格A1在同一頁上。如果您需要複製範圍B1:B5中的5個單元格,則需要指定一個範圍作爲第一個參數。你可以這樣做:

.Range(.Cells(1, 1).Address & ":" & .Cells(5, 1).Address).value = .Range("B1:B5").value 

這將複製B1到B5的內容到A1到A5。

Excel會將工作簿中的任意數量的單元格視爲1或20或更多作爲範圍,單元格允許您僅引用單個單元格。當你需要指定一個範圍如Range("B1:B5")時,你可以找到定義它的單元格,並使用.Address來獲得它們的字符串格式的範圍地址。所以Cells(1, 1).Address返回"$A$1"並且將它們連接在一個範圍引用中,只要你記得中間的「:」就可以得到一個範圍。

希望有所幫助。