- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 10# pupai
試試看
SAS檔轉TXT檔的結果.txt 只有5056列的資料 尚未達 65536列- Sub Ex()
- Dim TheFile As String, Mystr As Variant
- Dim Sh As Integer, i As Long
- TheFile = "D:\TEST\SAS檔轉TXT檔的結果.txt"
- i = 1: Sh = 1
- Open TheFile For Input As #1 '開啟文字檔
- Sheets(Sh).Activate 'Sh=1: 第1個工作表成為使用中的工作表
- ActiveSheet.Cells.Clear '清除作用中工作表所有的儲存格的資料
- Do While Not EOF(1) '不是檔案底部時 執行迴圈
- Line Input #1, Mystr '從已開啟的循序讀取資料,並將資料指定給變數。->mystr
- Mystr = Replace(Mystr, """", "") '清除 資字串中的 " 符號
- Mystr = Split(Mystr, " ") '依據自字串中 的(此處是: 一個空白字元) 符號 分割為 傳回一維的陣列
- ActiveSheet.Cells(i, "A").Resize(1, UBound(Mystr) + 1) = Mystr
- i = i + 1 '下一列
- If i > Rows.Count Then 'Rows.Count 列的總數
- i = 1
- Sh = Sh + 1
- On Error GoTo WorkSheet_Add '工作表數<>Sh 會產生錯誤
- Sheets(Sh).Active '第 Sh 個工作表成為使用中的工作表
- ActiveSheet.Cells.Clear
- End If
- Loop
- Close #1
- Exit Sub
- WorkSheet_Add: '處裡: 工作表數<> Sh 產生的錯誤
- Sheets.Add AFTER:=Sheets(Sheets.Count) '新增工作表
- Err.Clear '清除錯誤值
- Resume '重回錯誤的地方
- End Sub
複製代碼 |
|