You are on page 1of 15

EXCEL VBA 程式

謝邦昌
EXCEL VBA 程式 1
Public Sub FontSet()
With Selection.Font '選擇標的'
.Size = 18 '字型大小為18'
.FontStyle = "Bold" '字型為Bold'
End With
End Sub
EXCEL VBA 程式 2
Public Sub SqureVal()
Dim val
val = Cells(2, 3).Value '第2欄第3列,令其為數值'
Cells(3, 3).Value = val * val '計算平方,並將答案顯示在第3欄第3列'
End Sub
EXCEL VBA 程式 3
Public Sub Rating()
If ActiveCell.Value >= 60 Then '所選擇的標的,若數值大於60
ActiveCell.Offset(0, 1).Value = "及格" '在標的右方顯示及格
Else '若數值小於60
ActiveCell.Offset(0, 1).Value = "不及格" '在標的右方顯示不及格
End If
End Sub
EXCEL VBA 程式 4
Public Sub BookSelect()
Dim index As Integer '定義指標為整數'
index = ActiveCell.Value '指標為一個數值'
Select Case index
Case 1
ActiveCell.Offset(0, 1).Value = "與Word 2000有約"
'若選擇標的為1,則在標的右方顯示,與Word 2000有約'
Case 2
ActiveCell.Offset(0, 1).Value = "與Excel 2000有約"
'若選擇標的為2,則在標的右方顯示,與Excel 2000有約'
Case 3
ActiveCell.Offset(0, 1).Value = "與Access 2000有約"
'若選擇標的為3,則在標的右方顯示,與Access 2000有約'
Case Else
ActiveCell.Offset(0, 1).Value = "查無此書,請重新查詢"
'若選擇標的非1-3,則在標的右方顯示,查無此書,請重新查詢'
End Select
End Sub
EXCEL VBA 程式 5
Public Sub HitTotal()
Dim total As Integer, index As Integer
index = 5
total = 0
Do
total = Cells(index, 4).Value + total '從(第5-10列,第4欄)開始
加總
index = index + 1
Loop Until index > 10 '加總到第10列即停止'
Cells(index, 4).Value = total '選擇的欄位,顯示總數'
End Sub
EXCEL VBA 程式 6
Public Sub ScoreMax()
Dim index As Integer, Maxs As Integer
index = 4
Maxs = 0 '將最高分初始化=0'
Do
If Cells(index, 3).Value > Maxs Then
Maxs = Cells(index, 3)
'若相互比較的過程中,比0大,則置換,計入最大'
End If
index = index + 1
Loop While index <= 8 '相互比較到第8列即停止'
Cells(index, 3).Value = Maxs '列出最高分數'
End Sub
EXCEL VBA 程式 7
Public Sub HomeRun()
Dim counter As Integer, Maxs As Integer
Dim index As Integer
index = 0 '指標初始化=0'
Maxs = 0 '最大值初始化=0'
For counter = 5 To 10 '從第5-10列'
If Cells(counter, 6).Value > Maxs Then
Maxs = Cells(counter, 6).Value '將相互比較的結果,計入最大值'
index = counter '並且將相對應的人名決定'
End If
Next counter
Cells(11, 2).Value = Cells(index, 2).Value '第11列第2欄顯示人名'
End Sub
EXCEL VBA 程式 8
Public Sub SelectionClear()
With Selection
.ClearContents '將選擇標的清除'
With .Font '字型清除'
.Size = 20 '字型大小為20'
.Name = "標楷體" '字型為標楷體'
End With
End With
End Sub
EXCEL VBA 程式 9
Public Sub HelpContext()
Dim txtOut As String, txtTitle As String
Dim Result As Integer
txtOut = "設計"
txtTitle = "程式實例"
Result = MsgBox(txtOut, vbOKOnly, txtTitle) '顯示出訊息方塊
End Sub
EXCEL VBA 程式 10
Sub GetSheetName()
Dim prompt As String, title As String
Dim resultText As String
prompt = "請為工作表命名?"
title = "程式實例"
resultText = InputBox(prompt, title)
ActiveSheet.Name = resultText
'顯示輸入方塊,抬頭為程式實例
'將工作表命名之後,立刻更改新名字
End Sub
EXCEL VBA 程式 11
Public Sub AddRange()
Range("B7").Formula = "=SUM(B1:B6)“
’計算b1-b之總和,將結果顯示於b7
End Sub
EXCEL VBA 程式 12
Public Sub ColorCell()
Dim CellObj As Object
For Each CellObj In Range("C4:E8")
If CellObj.Value < 60 Then
CellObj.Font.Color = RGB(255, 0, 0)
'若數值小於60,則以紅色顯示

ElseIf CellObj.Value < 80 Then


'若數值介於60-80之間,則以藍色顯示
CellObj.Font.Color = RGB(0, 0, 255)
End If
Next CellObj
End Sub
EXCEL VBA 程式 13
Public Sub vb13()
Dim prompt As String, title As String, resultText As String
prompt = " 請輸入活頁簿名稱'"
title = "Ben-exercise"
resultText = InputBox(prompt, title)
ActiveWorkbook.SaveAs Filename:=resultText
End Sub
EXCEL VBA 程式 14
Public Sub ExitExcel()
Application.Quit
'執行此巨集,則關閉excel,結束作業'
End Sub

You might also like