顯示具有 初學者的VBA資料分析 標籤的文章。 顯示所有文章
顯示具有 初學者的VBA資料分析 標籤的文章。 顯示所有文章

2023年11月15日 星期三

初學者的VBA資料分析 CLASS 3:基本資料分析任務 開始 3.1 數據篩選和排序

 CLASS 3:基本資料分析任務 開始

 3.1 數據篩選和排序

     使用VBA篩選和排序Excel資料。

3.2 計算和公式

     使用VBA錄製巨集和編輯Excel公式。

3.3 簡單的資料視覺化

     創建基本的圖表和圖形。

二、講解:

 3.1 資料篩選和排序

先來看看資料篩選,篩選有常使用篩選功能的每個excel大神,一定都很清楚可以區分為進階篩選跟篩選,都很好用,但我們來用用vba來強化這項應用


先來看篩選,也就是autofilter,其實小編也發過類似的,可以參考看看

從基本的autofilter 這個物件的"方法",來玩玩吧

先來看看autofilter是啥?可以參圖1,其餘EXCEL怎操作不解釋了,偷個懶。

圖1.篩選圖示
小編引用MSDN,MSDN講了好多阿,小編來個入門版教學一下:
快速錄了一個錄製版巨集,如下:


圖2.資料樣貌


Sub 巨集1()

    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$E$13").AutoFilter Field:=3, Criteria1:="=1", _
        Operator:=xlAnd
    ActiveSheet.ShowAllData
    ActiveSheet.Range("$A$1:$E$13").AutoFilter Field:=5, Criteria1:="=1", _
        Operator:=xlAnd
    ActiveSheet.ShowAllData
    
End Sub

節錄一段code來看看   
針對工作表中a1:a13 範圍:ActiveSheet.Range("$A$1:$E$13")
篩選第3:.AutoFilter Field:=3, 

圖3.資料行別對照

篩選條件為1:Criteria1:="=1", 
篩選方式為:Operator:=xlAnd

這樣執行巨集1結果如下圖:
圖4.巨集1運作
圖4說明:先跑b行,然後復原在跑d行。

取消篩選:ActiveSheet.ShowAllData 
執行次行命令後,即恢復篩選前狀態。

以上是篩選的基本入門操作,至於更多的用法,可以參考小編的其他

接著來看排序功能,排序會使用到sort這個方法,老樣子先來個msdn一下
到這不免很多看官會說,啥都msdn,那你整理文章做啥,小編是想,你要先知道官方有技術指導,看無官方版不打緊,來看看小編的入門篇之後,普出一點道理之後,再回去看官方的,或許能幫到一點點忙;畢竟講語法實在是太讓人想滑鼠點上一頁閃了。畢竟網路上也很多人寫類似的,選你好看好懂得,up to you。

言歸正傳,啥是排序,排序就是基本排序資料的一個功能,可以參圖5,其餘EXCEL怎操作不解釋了,偷個懶。
圖5.排序按鈕

小編來個sort入門版教學一下,快速錄了一個錄製版巨集,如下:

錄得滿多的,a行的排序,a、b雙行的排序

某一關鍵參數:大到小,小到大列舉

Sub 巨集2()
'a行的排序 小到大
    ActiveWorkbook.Worksheets("工作表1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("工作表1").Sort.SortFields.Add Key:=Range("B2:B13"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("工作表1").Sort
        .SetRange Range("A1:E13")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
'a行的排序 大到小
    ActiveWorkbook.Worksheets("工作表1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("工作表1").Sort.SortFields.Add Key:=Range("B2:B13"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("工作表1").Sort
        .SetRange Range("A1:E13")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
'a行與b行接排序 大到小
    ActiveWorkbook.Worksheets("工作表1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("工作表1").Sort.SortFields.Add Key:=Range("B2:B13"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("工作表1").Sort.SortFields.Add Key:=Range("C2:C13"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("工作表1").Sort
        .SetRange Range("A1:E13")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    
End Sub

小編先說哇,錄了好長一串,來慢慢看過來
用錄製取得的CODE明顯好像跟上面提的SORT MSND內容不一樣

小編在補一下應外一塊MSDN,對照範例與小編錄製的內容
小編:
'a行的排序 小到大

    ActiveWorkbook.Worksheets("工作表1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("工作表1").Sort.SortFields.Add Key:=Range("B2:B13"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("工作表1").Sort
        .SetRange Range("A1:E13")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

微軟MSDN:
ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table1").Sort.SortFields.Add _
 Key:=Range("Table1[[#All],[Column1]]"), _
 SortOn:=xlSortOnValues, _
 Order:=xlAscending, _
 DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table1").Sort
 .Header = xlYes
 .MatchCase = False
 .Orientation = xlTopToBottom
 .SortMethod = xlPinYin
 .Apply
End With

其實除了工作表與儲存格範圍外,範例跟錄製的內容真的長的很像ㄝ,但還是有不同,先回到主軸上排序上
回想一下,透過滑鼠點選操作排序時,有幾個必要設定的地方,分別是要排序那些儲存格,根據那些存格當依據做排序,先來看當使用Sort.SortFields時,主要必設定的部分:
清除篩選: ActiveWorkbook.Worksheets("工作表1").Sort.SortFields.Clear
增加範圍:  ActiveWorkbook.Worksheets("工作表1").Sort.SortFields.Add
設定排序條件範圍:Key:=Range("B2:B13"), _
設定排序條件範圍參數:SortOn:=xlSortOnValues, Order:=xlAscending,DataOption:=xlSortNormal

相關參數就不多再談了,先拉回到排序sort的重點整理一下:
1.資料範圍
2.資料排序依據
3.排序方法選擇(大到小......)
小編想,可能需要寫一篇專文了,呵呵,這邊還是以引入觀念為主。
不然就都泡在程式碼裏頭,引用當兵學長的話,"歐,強哥,這很難吞下的下去說"

小編遇到難免會多補充很多,接下小編端上速成版排序做參考:
3原則
1.資料範圍
2.資料排序依據
3.排序方法選擇(大到小......)

單一排序依據:
activesheet.Range(資料範圍).Sort _
Key1:=activesheet.Range(資料範圍排序依據行別),  _
Order1:=資料排序方式, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, SortMethod  :=xlStroke, _
DataOption1:=xlSortNormal

2組排序依據:
activesheet.Range(資料範圍).Sort _
Key1:=activesheet.Range(資料範圍排序依據行別1),  _
Order1:=資料排序方式1, Header:=xlYes, _
Key2:=activesheet.Range(資料範圍排序依據行別2),  _
Order2:=資料排序方式2, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, SortMethod  :=xlStroke, _
DataOption1:=xlSortNormal

對,就是這樣簡單!!!! 怎我前面一堆廢話 (>__<)

排序 演練一下:

Private Sub CommandButton2_Click()

ActiveSheet.Range("b1:e30").Sort _
Key1:=ActiveSheet.Range("b1"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, SortMethod:=xlStroke, _
DataOption1:=xlSortNormal

ActiveSheet.Range("b1:e30").Sort _
Key1:=ActiveSheet.Range("b1"), _
Order1:=xlDescending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, SortMethod:=xlStroke, _
DataOption1:=xlSortNormal

End Sub



Private Sub CommandButton3_Click()

ActiveSheet.Range("b1:e30").Sort _
Key1:=ActiveSheet.Range("b1"), _
Order1:=xlAscending, Header:=xlYes, _
Key2:=ActiveSheet.Range("c1"), _
Order2:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, SortMethod:=xlStroke, _
DataOption1:=xlSortNormal

ActiveSheet.Range("b1:e30").Sort _
Key1:=ActiveSheet.Range("b1"), _
Order1:=xlDescending, Header:=xlYes, _
Key2:=ActiveSheet.Range("c1"), _
Order2:=xlDescending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, SortMethod:=xlStroke, _
DataOption1:=xlSortNormal

End Sub










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 範例檔案就不分享了。



2023年10月8日 星期日

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

 Excel與VBA互動

本節課程規劃:

小編這節思考很久,怎表達互動,回到excel基本使用,使用者與excel的互動不就是工作表與儲存格間的操作,所以小編以4個常用的操作來逐步操作"互動"。

常用操作:

1.打開、關閉和啟用Excel工作簿:介紹如何使用VBA代碼打開和關閉工作簿。

2.保存工作簿:如何VBA方式做工作簿存檔。

3.選擇工作表:如何VBA方式選擇不同的工作表。

4.認識儲存格物件以及讀取儲存格資料

    講解儲存格,以及如何使用VBA來讀取儲存格中的資料。

講解:

1.打開、關閉和啟用Excel工作簿:

語法:

Workbooks.Open Filename:=檔案路徑與名稱

Workbooks(檔案名稱).close

Workbooks(檔案名稱).activate

vba 範例 : 如開啟c:\01.xlsm的檔案

Workbooks.Open Filename:="c:\01.xlsm"

關閉和啟用Excel工作簿

取得檔案名稱

source = Excel.ActiveWorkbook.Name

關閉檔案:Workbooks(source ).close

啟用檔案:Workbooks(source ).activate

2.儲存檔案

語法:Workbooks(檔案名稱).save

取得檔案名稱

source = Excel.ActiveWorkbook.Name

儲存檔案Workbooks(source ).save

3.選擇工作表

語法sheets(工作表名稱).activate

vba 範例 :切換到工作表1

sheets("工作表1").activate

vba 範例 :切換到工作表2

sheets("工作表2").activate

4.認識儲存格物件以及讀取儲存格資料

語法:range("a1")、cells(1,1)

存格主要透過range與cells語法做位置使用。

range是使用文字方式控制如A1、A2、A3等指定儲存格方式做控制 

cells主要是使用座標系統控制,先垂直在水平的方式,填入數字即可控制。

EX:儲存格A1 RANGE("a1")等同於.CELLS1,1)

EX:儲存格C3 RANGE("C3")等同於 CELLS(3,3)

EX:儲存格B2 RANGE("B2")等同於 CELLS(2.2)

讀取儲存格資料,主要是透過等號此符號做存取

取得a1儲存格資料,a=range("a1")

寫入3個a字母到a1儲存格資料,range("a1")="aaa"

寫入10到a1儲存格資料,range("a1")=10


以上基本互動 

2023年9月9日 星期六

初學者的VBA資料分析 Class 1 1.3 VBA的第一個程式 2/2

小編一直在思考這塊該提嗎?畢竟前面都沒介紹VBA是物件導向程式語言了。

物件、屬性、方法與程序 GOOGLE 也滿多的請自行參考

小編以自身所學大雜燴一番,做分享:

物件架構:

何謂物件(Object) :

「物件」,最簡單的白話文來解釋,可以被解釋為一個「實體」。

在Excel 中的物件(Object) :

物件(Object)就是構成Excel的各種元素,諸如儲存格、工作表、活頁簿、統計圖表、圖案等。

物件還可分為特定的物件及非固定的物件:

固定的物件:「工作表、儲存格、工作簿」等,它實際代表的東西,每一次可能都會改變。

非固定的物件:通常是可變與動態的,例如目前正在操作的元素。例如,ActiveCell(作用儲存格)表示當前選中的儲存格,ACTIVESHEET當前使用的工作表,activechart目前使用中的圖表等,簡單來說它的值可能會隨用戶的操作而改變。

圖1.物件架構圖

Excel VBA已經對Excel的各元素(即物件)分配了名稱。
不知道名稱沒關係,我們還有微軟MSDN這個地方可以查詢,別為英文單字煩惱。

接下來,看一下屬性:

所謂「屬性」,指的就是物件所包含的特性。

如「工作表」此物件,工作表的顏色,則可視為工作表的屬性。如紅色工作表、白色工作表、儲存格資料種類。這些具體用來形容物件的特性,即稱為屬性。

例如:儲存格A1的值、公式、格式、大小狀態等,都是它的屬性。

只要使用屬性物件就能重現Excel的操作。例如儲存格A1的值、公式、格式、大小狀態等,都是它的屬性。

屬性還可以再區分為顯示、取得、設定與使用 大概4種。

1. 屬性顯示: 屬性可以是各種不同類型的資料,取決於所描述的物件。例如,工作表的屬性可以包括名稱、可見性、背景顏色,而儲存格的屬性可以包括值、公式、字體顏色等。

2. 屬性的讀取: 您可以通過使用點(.)操作符來訪問物件的屬性。例如,要獲取儲存格A1的值屬性,可以使用 Range("A1").Value。

3. 設置屬性: 大多數屬性是可讀寫的,這意味著您可以讀取其值,也可以將新值分配給它們。例如,您可以讀取儲存格的值屬性,也可以將新值分配給它以更改儲存格的內容。

4. 屬性的使用: 屬性對於執行各種任務非常有用。例如,您可以使用儲存格的顏色屬性來確定其背景顏色是否符合特定條件,或者使用工作表的名稱屬性來更改工作表的名稱。

瞭解基本語法和注釋:

前面聊了物件,上一篇也聊過等號(=),來看一下

基本物件的語法:

中文思考 對照 VBA

物件的屬性 EX:ACTIVESHEET.NAME 使用中工作表的名稱

物件的方法 EX:CELLS.CLEAR 儲存格清除

屬性:

語法結構:

物件名稱.屬性名稱

解說:如果儲存格A1輸入的是100,則這個「儲存格A1.值」就會變成「100」這個數值。

設定屬性的VBA如下:

          物件名稱.屬性名稱=設定值,指定值的時候使用運算子「=」

  方法:

      語法結構1:
物件名稱.方法名稱
解說:就概念上來說,如果是「儲存格A1」物件的「清除」方法,就寫成儲存格A1.清除 
     
語法結構2:
物件名稱.方法名稱 參數:=設定值
解說:有些方法在執行時的需輸入必要設定條件,所以簡單來說「參數」就是條件的指定設定。如果參數有很多個,就利用「,」(逗號)來間隔「參數名稱 :=設定值」即可。

  方法名稱  參數名稱1 := 設定值1,參數名稱2 := 設定值2,參數名稱3 := 設定值3,……

 








初學者的VBA資料分析 Class 1 1.3 VBA的第一個程式 1/2

 1.3 VBA的第一個程式 

先來聊聊幾塊:

1.錄製巨集

2.自己寫的VBA CODE

1.錄製巨集:

先來看自己錄製的巨集,長相如何:

Sub 巨集1()

' 巨集1 巨集

    Range("B3").Select

    ActiveCell.FormulaR1C1 = "=R[-2]C+R[-1]C"

    Range("B4").Select    

End Sub

恩好多英文單字,但不難在英文單字間,存在某個程度的架構。

圖1.巨集1
由上往下看看最:

SUB架構:

外層架構 SUB~~END SUB 把所有程式碼包起來了,這部分稱為SUB架構。

接下來,紅圈部分圈選了 ". "與等號

先來看看等號的部分,先引入一個觀念:

VBA 程式語言是等號右手邊做計算,跟數學不一樣,數學式是等號左手邊做計算。

VBA 程式語言是等號右手邊計算完成後,提供給等號左手邊做儲存或是對應的處理。

紅圈部分圈選了 ". "的部分,為物件方法與屬性:

錄製的巨集中". " 都出現在等號左手邊???? 因為要使用到物件了,不同物件存有各自的屬性與方法,要透過". "來調用的。

越來越多問號了?
第一個問號紀錄:SUB架構是啥?

ANS:簡單來說用來存放程式碼的地方,SUB 接續程式的名稱並以END SUB作為結尾。

如前篇的Hello world:

SUB HELLO_WORLD()

            debug. Print "hello world"

end sub

第二個問號紀錄:物件方法與屬性是啥。

講完都睡著了,先暫時不回答。 


掌握那些觀念:
VBA 程式語言是等號用途與數學式不一樣

2.自己寫的VBA CODE:

一樣的功能,針對b1與b2儲存格做加總計算後,存放於b3儲存格中。

Sub total()

         ActiveSheet.Range("b3") = ActiveSheet.Range("b1") + ActiveSheet.Range("b2")

End Sub

疑?等等怎才一行,錄製的有3行ㄝ
呵呵,好煩歐,先不管這些。
b1跟b2儲存格在等號右手邊,但寫法怎明顯不同。
可以透過range這個關鍵字,可以直接使用excel函數操作熟悉的儲存格表示方式。

所以我們來做做第一個程式吧

Sub CAL()

ActiveSheet.Range("B1") = ActiveSheet.Range("c1") + ActiveSheet.Range("d1")
ActiveSheet.Range("B2") = ActiveSheet.Range("c1") - ActiveSheet.Range("d1")
ActiveSheet.Range("B3") = ActiveSheet.Range("c1") * ActiveSheet.Range("d1")
ActiveSheet.Range("B4") = ActiveSheet.Range("c1") / ActiveSheet.Range("d1")

End Sub

操做:

圖2.練習操作GIF


本篇到這裡,下次講講與說說一些物件、方法與屬性的概念







初學者的VBA資料分析 Class 1 VBA開發環境

 1.2 VBA開發環境 

瞭解VBA編輯器如何打開它。

    透過excel選項>自訂功能區>點選"開發人員"

圖1.開發人員
圖2.gif 操作

進入vba編輯頁面 方法:

1.方法一:

透過excel 工具列>找到檢視程式碼>點選後會出現vba編輯頁面

2.1.方法一:

鍵盤的alt+f11

開啟後畫面:

p.s 小編有改過編輯畫面,顏色略有差異 

創建一個簡單的VBA項目。

            SUB HELLO_WORLD()

            debug. Print "hello world"

            end sub

開啟excel,按 "進入vba編輯頁面 方法" 進入vba 編輯頁面後,任一空白處貼上前敘的code了,啟動即時運算視窗,然後按下鍵盤上的f5,hello world。








2023年9月8日 星期五

初學者的VBA資料分析 CLASS 1 VBA基礎

1VBA基礎 

1.1 什麼是VBA 

以兩個觀點"巨集與VBA的關係"、"什麼是巨集"來看

巨集:

所謂的巨集就是透過錄製方式,

記錄使用者的單次操作,後續再重現錄製過程的功能。

巨集不僅止於單一的操作,而是記錄或執行一連串的操作過程。

是一種能夠代替使用者手動操作,自動執行命令的功能。

記錄巨集命令列的程式語言就稱為 VBA(Visual Basic for Applications)。

錄一個簡單的加法玩玩:


 

VBA 是?

VBA巨集語言指的就是Visual Basic For Application,

主要用做設計Office 應用程式中的自訂功能及自動化而設計。 

         但更多應用不僅侷限於office套件中而已歐 

最後巨集與VBA的關係:

存在一個,非VBA不可的作業,白話意思就是無法透過"錄製過程"滿足的作業。

VBA程式設計可以完成錄製巨集功能所無法完成的操作與功能。

巨集錄製功能,如重複執行特定或不特定次數的操作,就無法完成。

又例如依條件進行的處理,也無法利用巨集錄製功能來完成。(邏輯處理)

VBA可讓使用者直接撰寫命令列。


如果你還不知道VBA能怎樣幫你,以及你也不知道能做啥 看看補充

其他補充: VBA 應用 例子 超級多影片






2023年9月5日 星期二

大綱編寫:初學者的VBA資料分析

 課程名稱:初學者的VBA資料分析

 課程目標:

 介紹VBAVisual Basic for Applications)的基本概念。

幫助初學者掌握VBA的基礎知識和技能。

啟發學生開始使用VBA進行資料分析。

課程大綱: 

 CLASS 1VBA基礎 

1.1 什麼是VBA 

簡單介紹VBA的角色和作用。

1.2 VBA開發環境 

瞭解VBA編輯器如何打開它。

創建一個簡單的VBA項目。

1.3 VBA的第一個程式 

編寫並運行一個簡單的VBA程式。

瞭解基本語法和注釋。

CLASS  2ExcelVBA互動

2.1 使用VBA操作Excel工作簿 

打開、保存、關閉Excel工作簿。

選擇工作表並讀取儲存格內容。

2.2 編寫簡單的巨集 

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

    瞭解如何錄製巨集。

CLASS 3:基本資料分析任務

 3.1 數據篩選和排序

     使用VBA篩選和排序Excel資料。

3.2 計算和公式

     使用VBA生成和編輯Excel公式。

3.3 簡單的資料視覺化

     創建基本的圖表和圖形。

CLASS 4:專案和實踐

 4.1 實際項目

    選擇一個簡單的資料分析專案並使用所學的VBA知識來解決問題。

CLASS 5:最佳實踐和資源

 5.1 VBA編碼作作看

    編寫清晰和可維護的代碼。

    避免常見的錯誤。




指數變化(2025.08.29) 開始透過AI做整理

 指數變化(2025.08.29) 開始透過AI做整理 上周焦點: 8/19(二)   美國房屋開工率 5%月增  美國建築許可月增率 月增2.8% 8/20(三)   美國房貸綜合指數 月減0.5%  美國30年期房貸利率 6.69%  美國15年期房貸利率 5.8~5.71%...