2012-10-12 94 views
0

我正在動態創建一個報表,我在其中創建一個工作表,重新引入記錄。如何輕鬆地鍵入字段名稱並將其複製到單元格中。沒有每行一個單元格,就有〜20列。如何將文本數組複製到Excel中的一系列單元格

我想:

dim fieldNames as variant 
fieldNames = ("'DS Date', 'A', 'B', 'A','S ASD', 'S','D S','D S', 'S','D S', 'SD', 'S','D'") 
Sheets("DATA").Range("C14:W14").Value = Application.WorksheetFunction.Transpose(fieldNames) 

,但它只是張貼在每個單元中的整個事情?有任何想法嗎?

回答

1

既然你是硬編碼的陣列,嘗試更多的東西是這樣的:

Dim fieldNames As Variant 
fieldNames = Array("DS Date", "A", "B", "A", "S ASD", "S", "D S", "D S", "S", "D S", "SD", "S", "D") 
Sheets("DATA").Range("C14:W14").Value = fieldNames 

這裏有一個reference on using Array()這對VB6,但它仍然是正確的。

編輯:我做了一些修修補補,你也可以通過改變你的最後一行到此完成同樣的事情:

Sheets("DATA").Range("C14:W14").FormulaArray = Application.WorksheetFunction.Transpose(Application.WorksheetFunction.Transpose(Split(fieldNames, ","))) 

這種方法調換水平陣列垂直,然後再回來,但使用像你在做的轉置。 :-D當然這個方法並沒有真正使我們考慮到我們可以直接放下Split(fieldNames, ",")。像這樣:Sheets("Data").Range("C14:W14").value = Split(fieldNames, ",")不知道爲什麼我先給你一個複雜的例子。

+0

謝謝,這是你忘了放置像'數組',LMAO的小東西。 – aSystemOverload

相關問題