看到某篇M01網友想要整理每日收盤開盤交易量等價格,就也寫一篇簡單教學文當參考。
想法:
找尋可以下載資料的網站,其次透過之前小編一篇文章的教學做資料整理。
先來下載2天份資料(下載),然後參考範本檔案做操作。
主要流程:開啟檔案>抓取資料>回寫表單>下一個檔案
作一個ACTIVEX按鈕插入以下VBA CODE。
VBA CODE:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Private Sub CommandButton1_Click() | |
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 '儲存新開檔案的檔案名稱 | |
'新增的部分 | |
S1 = ActiveSheet.Range("A2000").End(xlUp).Row | |
Data = ActiveSheet.Range("A2:H" & S1) | |
Windows(WORKNAME).Close '啟用新開檔案的檔案名稱 | |
Windows(Source).Activate '啟用目前作業中檔案名稱 | |
S2 = ActiveSheet.Range("A655360").End(xlUp).Row | |
If S2 = 1 Then | |
Sheets("工作表1").Range("A2:H" & S1) = Data | |
Else | |
Sheets("工作表1").Range("A" & S2 + 1 & ":G" & S1 + S2 - 1) = Data | |
End If | |
Next I | |
End Sub |
結果:
沒有留言:
張貼留言