2023年10月9日 星期一

初學者的VBA資料分析 CLASS 2:Excel與VBA互動 2/2

課綱中提到 2.2 編寫簡單的巨集 

    建立和執行巨集來自動執行任務。

    瞭解如何錄製巨集。>>>這裡小編改一下,之前已經先教學了,就PASS了

前篇簡單提一下開啟工作簿、關閉工作簿、工作簿啟用與工作表、儲存格等

如何建立和執行巨集等等,小編寫了很多類似的操作,引用類似案例來實作一下

小編發過很多跟儲存格有關的操作,可以自己blog內用關鍵字搜搜

小編接下來以EXCEL 開啟檔案 VBA (一) FileDialog應用做實例操作。




先貼個CODE先:


....
先找到以下這行

    Windows(WORKNAME).Activate '啟用新開檔案的檔案名稱

我們把要抓得資料的儲存格語法,類似如下:
    
    例如:TEMP=ACTIVESHEET.CELLS(4,4)

每開啟一個檔案後,取得資料後要關閉檔案,所以要增加以下這行

    Windows(WORKNAME).CLOSE

資料統一放到既有工作表得A行中,所以需要以下這行

    ACTIVESHEET.RANGE("A" & I+1)=TEMP

儲存資料後並做清除資料動作

    TEMP=""

用完整程式碼來練練:


Dim FILE_OPEN As FileDialog '宣告FILE_OPEN為檔案對話框

 Set FILE_OPEN = Excel.Application.FileDialog(msoFileDialogFilePicker)

'設定FILE_OPEN為選取檔案功能

 FILE_OPEN.InitialFileName = Excel.ActiveWorkbook.Path '對話框開始目錄的設定

 FILE_OPEN.Filters.Add "Excel File", "*.xls*" '設定對話框要顯示的副檔名

 FILE_OPEN.Filters.Add "所有檔案", "*.*"
 
 FILE_OPEN.Show '顯示對話框

 For I = 1 To FILE_OPEN.SelectedItems.Count

     Source = Excel.ActiveWorkbook.Name '儲存目前作業中檔案名稱
    
     FILE_OPEN_PATH = FILE_OPEN.SelectedItems(I) '取的檔案路徑
    
     Workbooks.Open Filename:=FILE_OPEN_PATH '開啟案路徑
    
     WORKNAME = Excel.ActiveWorkbook.Name '儲存新開檔案的檔案名稱
    
     Windows(WORKNAME).Activate '啟用新開檔案的檔案名稱
     
     TEMP = ActiveSheet.Cells(4, 4)
     
     Windows(WORKNAME).Close
    
     Windows(Source).Activate '啟用目前作業中檔案名稱
     
     ActiveSheet.Range("A" & I + 1) = TEMP
     
     TEMP = ""

 Next I

選4個檔案後,再來一步一步來,然後就全部跑完了

簡單說明,就是開啟選擇檔案對話框後,選了4個檔案,再把檔案內特定儲存格資料作一番處理後,整理到原始的工作表上(有VBA的工作表)

p.s 範例檔案就不分享了。



沒有留言:

張貼留言

指數變化(2024.05.17)

指數變化(2024.05.17) 上周焦點:         5/9當周焦點                          事實:fed與非農就業,引起投資市場對降息有加速,但肯定的是,fed說不加息了。                        美國密西根大學信心指數 ...