VBA / 初階課程筆記-2

105.03.10 第2次上課 (範例-02邏輯函數.xls)

 

01_兩重邏輯與多重邏輯函數判斷

Excel

IF=(邏輯判斷式 , 成立時執行 , 不成立時執行)

第二重、第三重~~的邏輯判斷就是在前一重的「不成立時執行」要進行的部分

例題:分數80以上為 A,70~79為 B,60~69為 C,不及格為 D

G2=IF(E2>=80,"A",IF(E2>=70,"B",IF(E2>=60,"C","D")))

可以拆解成

G2=IF(E2>=80,”A”,_______________

                              IF(E2>=70,”B”,_______________

                                                    IF(E2>=60,”C”, “D”)))
 

02_兩重邏輯轉為VBA

Private Sub 成績()
    r = Range("A1").End(xlDown).Row
    For i = 2 To r
       If Cells(i, "E") >= 60 Then
         Cells(i, "I") = "及格"
       Else
         Cells(i, "I") = "不及格"
       End If
    Next
End Sub

 

03_多重邏輯轉為VBA說明

VBA

IF     判斷式1  then
        判斷式1  成立時執行
ElseIf 判斷式1不成立時,判斷式2  then
        判斷式2  成立時執行
Else:  都不成立時執行
End If

Private Sub 成績多重()
    '取得目前有資料的列數=總共有多少列
    r = Range("A1").End(xlDown).Row
    '第一列是標題欄
    For i = 2 To r
        If Cells(i, "E") >= 80 Then
           Cells(i, "K") = "A"
        ElseIf Cells(i, "E") >= 70 Then
           Cells(i, "K") = "B"
        ElseIf Cells(i, "E") >= 60 Then
           Cells(i, "K") = "C"
        Else: Cells(i, "K") = "D"
        End If
    Next
End Sub

 

04_如何利用InputBox取得不同的合格分數

Private Sub 成績()
    'InputBox
    x = Application.InputBox("請輸入合格分數", Type:=1)
    Cells(6, "J") = "合格分數=" & x
    r = Range("A1").End(xlDown).Row
    For i = 2 To r
      If Cells(i, "E") >= x Then
        Cells(i, "I") = "及格"
      Else
        Cells(i, "I") = "不及格"
      End If
    Next
End Sub

備註

Application.InputBox 方法 (Excel) 的參數說明
 

05_如何分享自訂函數給其他人(增益集)

檔案另存成 excel增益集→儲存在excel增益集資料夾

檔案→選項→增益集→excel增益集 執行,勾選增益集的名稱(檔案名稱)→之後excel在插入函數,使用者定義就會有新增的自訂函數
 

06_如何取消增益集

開發人員→增益集,取消勾選,或者從瀏覽中找到檔案再刪除
 

07_如何改為VBA的自訂函數

Private Function 成績函數(平均成績)
    If 平均成績 >= 60 Then
       成績函數 = "合格"
    Else: 成績函數 = "不合格"
    End If
End Function

Private Function 成績函數多重(平均成績)
    If 平均成績 >= 80 Then
       成績函數多重 = "A"
    ElseIf 平均成績 >= 70 Then
       成績函數多重 = "B"
    ElseIf 平均成績 >= 60 Then
       成績函數多重 = "C"
    Else: 成績函數多重 = "D"
    End If
End Function

 

08_如何設計表單將EXCEL當成資料庫存資料

流程

1)插入表單

插入→自訂表單

2)設計表單欄位與按鈕

 

3)撰寫VBA程式碼

在按鈕點兩下,就會進入點擊按鈕的程序編輯

詳細的表單設計與資料賦值可以參考VBA表單設計

 

09_如何啟動表單(按鈕與當EXCEL開啟)

1)按鈕啟動,指定巨集

新增程序

表單.show

Private Sub 啟動表單()
        home.Show
End Sub

2)excel開啟時啟動