因此,我正在處理的項目需要我讀取CSV文件,解析並找到所需列,然後將所需列打印到另一個工作表。我的部分問題是,我一直在學習VBA,所以有一些簡單的東西我錯過了。 我嘗試了許多不同的打印方式,其中沒有一個像我想要的那樣打印在列中。如果有線程已經回答了這個問題,我很抱歉,但我找不到它。 到目前爲止,我已經能夠讀取CSV文件並將所有信息存儲到二維數組中。這裏是代碼爲:在VBA中按列打印到Excel單元格
i = 0 'This is the x value of the 2d array
'Populate the 2d array with the CSV File Data
Do Until csvFile.AtEndOfStream
sLine = csvFile.ReadLine
sArray() = Split(sLine, ";")
For j = 0 To UBound(sArray)
stArray(i, j) = sArray(j)
Next j
i = i + 1
Loop
現在,我在我想打印所需的列到陣列的一部分。我正在嘗試打印測試,以確保在開始檢查之前可以做到這一點,所以我使用單維數組進行測試而不是2D數組。 一旦我弄清楚如何打印,那麼我將通過if語句來運行我的2d數組,該if語句將查找所需的列。
這裏是我的測試代碼:
Dim o As Object
Set o = CreateObject("excel.application")
o.Visible = True
o.Workbooks.Add
For r = 0 To UBound(sArray)
o.Sheets("test").Range(o.Cells(3, 1).Address, o.Cells(3, r).Value = sArray(r)
Next r
相反,我現在正在運行時錯誤「1004」「應用程序定義或對象定義爲在環行錯誤」 我打招呼沒有足夠的經驗或知識的VBA知道如何解決這個問題。我的經驗是Java和Python。
同時,如何將數組打印到一列單元格?對嗎?
任何幫助,這將是有益的,臨屋區你好。
謝謝您的答覆。我正在通過你的陳述的邏輯工作,所以對不起,如果這看起來像一個無知的問題: 當我打印時,沒有辦法通過單元格(i,j)=數組(i,j)運行嗎? – Soolkiki
我更新了我的答案。你可以做到,但速度要慢得多。 –
太棒了,謝謝你的幫助! – Soolkiki