看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《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