
中華郵政股份有限公司 105 年職階人員甄試試題 
職階
職階職階
職階/
//
/甄
甄甄
甄選
選選
選類
類類
類科
科科
科【
【【
【代碼
代碼代碼
代碼】
】】
】:
::
:營運
營運營運
營運職
職職
職/
//
/壽險精算
壽險精算壽險精算
壽險精算【
【【
【J1401】
】】
】 
第二節
第二節第二節
第二節/
//
/專業科目
專業科目專業科目
專業科目(
((
(2)
))
):
::
:Excel VBA 及
及及
及Access VBA 程式
程式程式
程式 
 
*
**
*請填寫入場通知書編號
請填寫入場通知書編號請填寫入場通知書編號
請填寫入場通知書編號:
::
:________________
 
注意:作答前須檢查答案卷、測驗入場通知書號碼、桌角號碼、應試科目是否相符,如有不同應立即請
監試人員處理。使用非本人答案卷作答者,不予計分。 
本試卷為一張單面,共有四大題之非選擇題,各題配分均為 25 分。 
非選擇題限以藍、黑色鋼筆或原子筆於答案卷上採橫式
橫式橫式
橫式作答,並請依標題指示之題
依標題指示之題依標題指示之題
依標題指示之題號於各題指定
號於各題指定號於各題指定
號於各題指定
作答區內作答
作答區內作答作答區內作答
作答區內作答。 
請勿於答案卷上書寫姓名
請勿於答案卷上書寫姓名請勿於答案卷上書寫姓名
請勿於答案卷上書寫姓名、
、、
、入場通知書編號或與答案無關之任何文字或符號
入場通知書編號或與答案無關之任何文字或符號入場通知書編號或與答案無關之任何文字或符號
入場通知書編號或與答案無關之任何文字或符號。
。。
。 
本項測驗僅得使用簡易型電子計算器(不具任何財務函數、工程函數功能、儲存程式功能),但不
得發出聲響;若應考人於測驗時將不符規定之電子計算器放置於桌面或使用,經勸阻無效,仍執
意使用者,該節扣 10 分;該電子計算器並由監試人員保管至該節測驗結束後歸還。 
答案卷務必繳回
答案卷務必繳回答案卷務必繳回
答案卷務必繳回,
,,
,未繳回者該節以零分計算
未繳回者該節以零分計算未繳回者該節以零分計算
未繳回者該節以零分計算。
。。
。 
第一題
第一題第一題
第一題:
::
: 
Excel 內建的 TRIM 函數會把一個字串開頭以及末尾的空白字元消除,除此之外,還會
將字串內的連續空白字元精簡為單一空白字元。然而,Excel VBA 提供的 Trim 函數並不會處
理字串中的連續空白字元。例如下圖中,A1 儲存格的內容經過 TRIM 函數處理後的結果如
B1 儲存格,而經過 Trim 函數處理的結果如 C1 儲存格所示。現欲實作 Trim2 函數定義如下,
其功用即如同 Excel 內建的 TRIM 函數。請在「不呼叫 Excel 內建的 TRIM 函數」這個條件
下,完成其內部程式碼。【25 分】 
 
Function Trim2(s As String) As String 
 
End Function 
 
 
第二題
第二題第二題
第二題:
::
: 
現有一關於某工作室加班費的工作表如下圖,左半邊記錄了每個員工當月的加班數,而
右邊的表格定義了不同加班數對應的加班係數。這個工作室使用「加班費=加班費基數×加班
數×加班係數」的公式來計算應發放的加班費。而 B1 副程式是處理這個工作表的 VBA 程式
碼片段。請回答下列問題: 
(一)請問 B1 副程式執行後工作表會有什麼變化?【10 分】 
(二)如果程式一開頭宣告全域變數 Dim x As Long,對 B1 的編譯或是執行會發生影響
嗎?為什麼?【10 分】 
(三)假設 D欄的加班係數已經被填上,請利用迴圈方式,寫一個副程式來計算所有員
工的加班費,並填入工作表 E欄。【5分】 
 
 
 
Sub B1() 
    Dim x As Long: x = Range("I" & Cells.Rows.Count).End(xlUp).Row 
    Dim y As Long: y = Range("A" & Cells.Rows.Count).End(xlUp).Row 
    Dim i As Long, z As Single 
    For i = 3 To y 
        z = Range("C" & i).Value 
        Range("D" & i).Value = Range("J" & (z + 2)).Value 
    Next i 
End Sub 
第三題
第三題第三題
第三題:
::
: 
請回答下列關於 Excel VBA 的問題: 
(一)撰寫 VBA 副程式時,常見如 Private  Sub  FrmName_Click()這樣的宣告。請問
Private 這個字有什麼效果?【5分】 
(二)在 VBA 宣告變數時使用 Dim 關鍵字,請問什麼時候會使用 ReDim 關鍵字? 
【5分】 
(三)如果以下 VBA 敘述想要呼叫 Excel 內建的 SUM 函數,底線空白處應該填上什
麼?【4分】 
    Dim mySum As Long: mySum = _______________.Sum(100, 200, 300) 
(四)請寫出一個 If 敘述,檢查 B4 儲存格是否存在公式。如果不存在就清除 B4 儲存
格的內容。【6分】 
(五)請寫出「將作用中工作表(active  worksheet)的A1 儲存格的內容拷貝到工作表
Backup 的B2 和B3 儲存格」的程式敘述。【5分】 
第四題
第四題第四題
第四題:
::
: 
請回答下列關於 Access VBA 的問題: 
(一)請列舉三個與外部資料庫系統(如 SQL 伺服器)建立連線時必定會使用的 ADO
物件以及簡述這三個物件的主要用途。【9分】 
(二)請問對表單中的某個按鈕 button1 執行下列敘述 
button1.cancel = true 
會賦予這個按鈕什麼功能?【4分】 
(三)VBA 使用物件作為語言的整體架構。那麼 VBA 是否具備物件導向語言的多型
(polymorphism)、封裝(inheritance)和繼承(encapsulation)三個要素?【6分】 
(四)有一副程式 ex 定義如下 
  Sub ex(ByRef a As Integer, ByVal b As Integer) 
      a = a + 1 
      b = b + 1 
  End Sub 
則呼叫 ex(5, 6)後,其值為何?【6分】