中華郵政股份有限公司 100 年從業人員甄試試題
職階 職階職階
職階///甄選類科/甄選類科甄選類科甄選類科【【【【代碼代碼代碼】代碼】】】:::營運職:營運職營運職/營運職//壽險精算/壽險精算壽險精算【壽險精算【【98103】【 】】】 專業科目
專業科目專業科目
專業科目((((2):):):Excel VBA 程式): 程式程式程式
※
※
※
※入場通知書編號:_____________
注意:作答前須檢查答案卷、入場通知書編號、桌角號碼、甄選類科是否相符,如有不同應立即請監試 人員處理,否則不予計分。
本試卷為一張單面,共有四大題之非選擇題,各題配分均為 25 分。
限以藍、黑色鋼筆或原子筆於答案卷上採橫式橫式橫式橫式作答,並請從答案卷內第一頁開始書寫,違反者該 科酌予扣分。不必抄題但須標示題號不必抄題但須標示題號不必抄題但須標示題號。 不必抄題但須標示題號
應試人得自備使用簡易型電子計算機(須不具財務、工程及儲存程式功能且按鍵不得發出聲響),
應試人於測驗時將不符規定之電子計算機放置於桌面或使用,若經勸阻無效,仍執意使用者,該 科扣 10 分,計算機並由監試人員保管至該節測驗結束後歸還。
答案卷務必繳回答案卷務必繳回答案卷務必繳回答案卷務必繳回,,,未繳回者該科,未繳回者該科未繳回者該科成績以零分計算未繳回者該科成績以零分計算成績以零分計算。成績以零分計算。。 。
題目一題目一題目一 題目一::::
(一)請說明下列的 Excel VBA 程式片段的作用為何?【4 分】
1. Worksheets.Add After:=Worksheets(1), Count:=2
2. Worksheets(“Sheet1”).Move After:=Worksheets(“Sheet3”)
(二)請說明下列的 Excel VBA 程式片段的作用為何?【6 分】
Range("A3").Select With Selection.Font .Name = "標楷體"
.Size = 14 .Italic = True .Bold = True End With
Range("C3").Select With Selection.Font .Name = "新細明體"
.Size = 18 .Bold = True End With
(三)請說明下列的 Excel VBA 程式片段的作用為何?【3 分】
Dim a As Long
a = Application.WorksheetFunction.Max(Range(“A3:D12”).Value) MsgBox “值是:” & a
(四)如【圖一】之資料,請問下列二小題的運算結果為何?【6 分】
1. (Cells(1, 2).Value Mod 2) + (Cells(2, 2).Value - Cells(3, 2).Value) * 2 2. (Cells(3, 2).Value Mod 3) Or (Cells(2, 3).Value Mod 2)
【圖一】
(五)請說明下列的 Excel VBA 程式片段的作用為何?【6 分】
1. Range(“B2:D5”).Select
Selection.Rows.Hidden = True 2. Range(“B2:D5”).Select
MsgBox Selection.Rows.Count * Selection.Columns.Count
題目二 題目二 題目二 題目二::: :
(一)請說明下列的 Excel VBA 程式片段的作用為何?【6 分】
a = 0 Sum = 0 For i = 1 To 4
For j = 1 To 4
If Cells(i, j).Value Mod 2 = 0 Then a = a + 1
Sum = Sum + Cells(i, j).Value End If
Next Next
Cells(5, 6).Value = Sum / a
(二)皓皓老師想統計本學期每位同學成績的分佈,如果同學成績資料放置於 A1~A60 資料格中,要將 60 位同學中得分在 90 分以上的同學之個數放置於 B1、得分在 80~89 分的同學之個數放置於 B2、70~79 分的同學之個數放置於 B3、60~69 分 的同學之個數放置於 B4、不及格的同學之個數放置於 B5。下列是皓皓老師寫的 巨集,寫到一半時皓皓老師臨時有事,請您幫他完成這個 VBA 程式。【9 分】
【提示】可以利用 N1 的個數減去 N2 的個數便可以得到 N1 到 N2 間的個數。
Sub 成績統計()
Range("B1").Formula = "=COUNTIF(A1:A60," & " " ">=90" " " & ")"
Range("B2").Formula = Range("B3").Formula = Range("B4").Formula =
Range("B5").Formula = "=COUNTIF(A1:A60," & " " "<60" " " & ")"
End Sub
(三)曜曜想要寫一個 EXCEL VBA 程式用來計算他所銷售產品的總金額及單筆最高金 額,銷售的筆數每天一直增加,他不想每天改變程式,因此就在最後一筆填入 99999 這個值。(例如:銷售產品金額值放在 A1~A100 資料格,則 A101 放入 99999) 如果資料放在 A1 開始到 AN,這裏的 N 不知為多少,要將計算的總金額放在 B1,
單筆最高金額放在 C1,請幫曜曜寫一個 VBA 程式。【10 分】
【提示】可以用 DO WHILE 迴圈來計算總和及最大值。
題目三 題目三 題目三 題目三::: :
有一金融機構推出新的個人信用貸款商品,號稱最高可貸款 100 萬元免保人,10 年期 貸款年繳僅需 11 萬元。請回答下列問題:
(一)若貸款年利率為一固定值 x,請根據本息平均攤還方式,用一數學式表示 x 與上 述數字之間的關係。【5 分】
(二)用 VBA 撰寫一 Sub 程序,判斷小題(一)的 x 是否大於 1%,並用 MsgBox 函 數顯示結果。【20 分】
題目四 題目四 題目四 題目四::: :
請回答下列有關 Excel VBA 的問題:
(一)在 VBA 的程序中欲使用 Excel 提供的 Average 函數來計算變數 a, b, c, d 的平均 數,應如何呼叫?【5 分】
(二)將浮點數存入整數變數會自動進行四捨五入,例如下列的程式碼執行後,變數 x 的值應為 6。若希望小數點後無條件捨去(此時 x 的值變為 5),程式應如何修改?
【5 分】
Dim x As Integer x = 100.0 / 17
(三)將下列程式碼改為用 Do Until … Loop 迴圈撰寫。【7 分】
Dim i As Integer
For i = 1 To Selection.CurrentRegion.Rows.Count - 1 ActiveCell.FormulaR1C1 = "=Average(RC[-1],RC[-2])"
ActiveCell.Offset(1, 0).Select Next i
(四)ActiveWorkbook 以及 ThisWorkbook 屬性(property)各自參照到哪個活頁簿?兩 者一定參照到同一個活頁簿嗎?有沒有可能更動他們參照的活頁簿?【8 分】