通常系統轉出來的檔案,會如下圖,但國字的班級怎麼看都很難再處理,最好的方法就是轉成數字,例如:七年一班就轉成 '701'.....這些重覆性的工作,當然交給VBA來處理。
(1).建立一個如圖的Excel畫面
(2). 建立兩個按鈕副程式
Private Sub cmdReplaceBath_Click()
Call 班號取代
End Sub
Private Sub CommandButton1_Click()
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = True
.Show
Cells(2, 1) = .SelectedItems(1)
MsgBox .SelectedItems(1)
End With
End Sub
(3).建立一個VBA巨集如以下:
Sub 班號取代()
Dim nw As String '參數設定的檔案名稱
Dim s, r '要被取代的字串 ,取代過的字串
nw = Excel.ActiveWorkbook.Name
Workbooks.Open Filename:=Cells(2, 1)
i = 2
While Windows(nw).ActiveSheet.Cells(i, 2) <> ""
s = Windows(nw).ActiveSheet.Cells(i, 2)
r = Windows(nw).ActiveSheet.Cells(i, 3)
Cells.Replace What:=s, Replacement:=r
i = i + 1
Wend
MsgBox "取代完成,請查看結果"
End Sub