2015-10-16 231 views
2

我正在努力解決一些問題。我有一個大的.csv文件,它有4列(名字,姓氏,識別號碼,性別)和許多行與相應的個人。我不使用VBA,但正在嘗試編寫一個讀取excel文件的宏,並將數據放入帶有空格分隔符的txt文件中。將csv文件讀入文本文件

我用了一個網站教程,想出了以下內容,但是,它似乎是錯誤的。

Sub test() 

Dim myFile As String 
Dim rng As Range 
Dim cellvalue As Variant 
Dim i As Integer 
Dim j As Integer 

myFile = Application.DefaultFilePath & "\Book1.csv" 

Set rng = Selection 

Open myFile For Output As #1 

For i = 1 To rng.Rows.Count 
For j = 1 To rng.Columns.Count 
    cellvalue = rng.Cells(i, j).Value 

    If j = rng.Columns.Count Then 
     Write #1, cellvalue 
    Else 
     Write #1, cellvalue, 
    End If 

Next j 
Next i 

Close #1 

End Sub 

的想法是把一個命令按鈕Excel文件,寫這樣的代碼,將宏指定到該按鈕,選擇有問題的數據,並按下按鈕。如果有人願意幫助一個新人,欣賞將是你的。

回答

2

本教程將確定此:http://www.excel-easy.com/vba/examples/write-data-to-text-file.html

更改寫入#1進行印刷#1

+0

感謝。現在很天真的問題。一旦運行,它將放置文本文件的位置。我獲得了宏運行的成功,但不知道文本塊的位置。 – Rivers31334

+0

只需在這一行放置一個斷點:設置rng =選擇,將光標移動到「myFile」下方即可看到位置。 –

+0

Application.DefaultFilePath: - >返回或設置Microsoft Excel在打開文件時使用的默認路徑。讀/寫字符串。 –