You are on page 1of 7

EXCEL VBA 程式 1

Public Sub FontSet()

With Selection.Font '選擇標的'


.Size = 18 '字型大小為 18'
.FontStyle = "Bold" '字型為 Blod'
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 = "會計程式實例 ch2"

Result = MsgBox(txtOut, vbOKOnly, txtTitle)


'顯示出訊息方塊,內容為黃敏菁設計,抬頭為會計程式實例 ch2'
End Sub

EXCEL VBA 程式 10

Sub GetSheetName()
Dim prompt As String, title As String
Dim resultText As String

prompt = "請為工作表命名?"
title = "會計程式實例 ch3"
resultText = InputBox(prompt, title)
ActiveSheet.Name = resultText
'顯示輸入方塊,抬頭為會計程式實例 ch3'
'將工作表命名之後,立刻更改新名字'
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