[爆卦]excel vba擷取csv資料不開啟檔案是什麼?優點缺點精華區懶人包

為什麼這篇excel vba擷取csv資料不開啟檔案鄉民發文收入到精華區:因為在excel vba擷取csv資料不開啟檔案這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者sueadolph (人..只剩下不信任)看板Visual_Basic標題Re: [VBA ] ...


※ 引述《evantw (安安小成)》之銘言:
: 執行環境:Excel 2003
: 請問如果我有一個檔名 text 123.txt
: 在run到 SQL 語法中 select *from text 123.txt 時就會發生錯
: 但是如果將檔名中的空格去掉成 text123.txt 在Run就不會錯誤
: 但是我的檔名一定要有空格的情況下
: select *from text 123.txt <--- 要怎樣改呢???

檔名改成text_123.txt

或是先用程式開本來的txt,另存一個檔名....

: 另外~~
: 請問如何利用 Excel VBA 讀取 xxx.csv 檔案指定範圍內容
: 而 .csv 檔名可能會有所變動,所以要用個變數來代替
: 假設:我想利用 Excel VBA 讀取 C:\test 內的 test123.csv 內
: 範圍 B22:D30 <用Excel開啟時的位置> 內資料
: 複製到我正開啟的 Book1.xls 的 sheet1 內
: 並從 A1 欄位依序貼上
: 請問這樣需要這樣功能的 VBA 要怎樣寫???
: 謝謝各位~~

以下為不入流式的寫法~
忘了之前幫誰寫, 他說我寫法很怪...
沒辦法,當時學的時候沒書(office才剛2000
只能查網路自學....
光是你文章要的依序貼上, 大概至少有四五種以上的方式
每個人學的又都不同XD

底下是最懶的一種 COPY Paste

------------------
' 先記得現在在哪個excel檔
Set myWorkBook1 = ActiveWorkbook

'開啟csv...當然也適用開EXCEL
dlgAnswer = Application.Dialogs(xlDialogOpen).Show

If dlgAnswer = 0 Then End
'開啟的資料檔
Set myWorkBook2 = ActiveWorkbook
'資料存放的sheet
Set mySheet2 = Worksheets(1)


'不清楚你要怎麼抓資料,自己選一種
'從第一格抓到該資料的最後一筆
Set myRng = Range(mySheet2.Cells(1, 1), mySheet2.UsedRange)
'從a1抓到e4
'Set myrng = Range(mySheet2.Cells(1, 1), mySheet2.Cells(4, 5))
'有需要算格子的話會用到
'A = mySheet2.UsedRange.Rows.Count
'B = mySheet2.UsedRange.Columns.Count
myRng.Copy

'拷貝完資料 回家貼了
myWorkBook1.Activate
'從A20處 貼上所需的資料
Range("A20").Select
' 直接使用copy、貼上的方式
ActiveSheet.Paste
' 關掉csv檔
myWorkBook2.Close

' 釋放是好習慣
Set myRng = Nothing
Set mySheet2 = Nothing
Set myWorkBook2 = Nothing
Set mySheet1 = Nothing
Set myWorkBook1 = Nothing

--------------------end--------------------
(太久沒玩ANSI的顏色Orz,變那些顏色花的時間,比打這程式久- -

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.197.88

你可能也想看看

搜尋相關網站