以來源 8 筆員工資料練習變數與常數,並核對 Bonus、Tax、Net Pay。
理解 Currency、Double、Integer、Date、Boolean 等型別;使用 Const 管理固定規則;用明細結果驗證型別設計。
公司以固定所得稅率 12% 計算 Tax,Bonus 依每列 Input_Bonus_Rate × Sales 計算,再得到 Net Pay。
來源常數:TAX_RATE = 0.12、MIN_TRAINING_HOURS = 12。範例:Amy Base Salary 52,000、Sales 180,000、Bonus Rate 6%;Eva 72,000、240,000、8%。
VBA 宣告可採 Dim baseSalary As Currency、Dim sales As Currency、Dim bonusRate As Double、Const TAX_RATE As Double = 0.12。計算:Bonus = Sales × Bonus Rate;Tax = Base Salary × TAX_RATE;Net Pay = Base Salary + Bonus - Tax。
Amy:Bonus 10,800;Tax 6,240;Net Pay 56,560。Eva:Bonus 19,200;Tax 8,640;Net Pay 82,560。完整來源完成表同樣包含 8 人結果。
將稅率設為常數,可避免每列硬編碼;金額欄位使用 Currency 更能表達其用途,而比率適合 Double。
「請檢查這份 VBA 薪酬計算中各欄位應使用的資料型別,並說明哪些商業規則應宣告為 Const;不要改動來源數值。」
問題:若 TAX_RATE 從 12% 改為 10%,Amy 的 Net Pay 變多少?
精簡解答: Tax = 52,000×10%=5,200;Net Pay = 52,000+10,800−5,200 = 57,600,比原來源結果增加 1,040。