Friday, November 25, 2005

第廿章 其他

第廿章 其他
20-01 顯示/隱藏Excel命令列

應用範例
Sub 顯示或隱藏命令列()
MsgBox “顯示/隱藏快速入門工具列”
Application.CommandBars(“Task Pane”).Visible = True
MsgBox “回復原來的狀態”
Application.CommandBars(“Task Pane”).Visible = False
End Sub

20-02 開啟Access、Word

應用範例
Sub 開啟Microsoft應用程式()
MsgBox “開啟Word”
Application.ActivateMicrosoftApp xlMicrosoftWord
End Sub

20-03 執行應用程式

應用範例
Sub 開啟小算盤()
MsgBox “開啟小算盤”
x = Shell(“C:\Windows\System32\Calc.exe”, vbNormalFocus)
MsgBox “其PID值為:” & x
End Sub

20-04 設定顏色

應用範例
Sub 設定顏色()
MsgBox “將使用中儲存格內文字顏色中紅色的濃淡程度由255降至0,每次降低50”
For r = 255 To 0 Step -50
ActiveCell.Font.Color = RGB(r,150,200)
MsgBox “目前紅色的濃淡程度為:” & r
Next r
End Sub

20-05 開啟資料表單

應用範例
Sub 開啟資料表單()
MsgBox “開啟資料表單”
ActiveSheet.ShowDataForm
End Sub

20-06 設定超連結

應用範例
Sub 設定超連結()
MsgBox “在使用中儲存格內設定開啟小算盤的超連結”
ActiveCell.Hyperlinks.Add Anchor:=ActiveCell, Address:=“C:\Windows\System32\Calc.exe”, ScreenTip:=“按下我,就會開啟小算盤”, TextToDisplay:=“小算盤”
End Sub

20-07 自動填滿

應用範例
Sub 自動填滿()
MsgBox “以儲存格A1為填滿來源,將A1的內容於儲存格範圍A2到A12中填滿”
ActiveSheet.Range(“A1”).AutoFill Range(Cells(1,1), Cells(12,1))
End Sub
20-08 使用IIf函數

應用範例
Sub IIf的使用()
MsgBox “取得現在的星期,經判斷運算後顯示相對應的訊息”
youbi = Weekday(Date)
henji = IIf(youbi = 2 or youbi = 6, “收紙類垃圾”, IIf(youbi = 3 or youbi = 5 or youbi = 7, “收一般垃圾”, “不收垃圾”))
MsgBox henji
End Sub

20-09 設定狀態列的文字

應用範例
Sub 設定狀態列的文字()
MsgBox “將狀態列的文字設為「執行中」”
stb = Application.StatusBar
dstb = Application.DisplayStatusBar
Application.StatusBar = “執行中”
MsgBox “回復原來的狀態”
Application.DisplayStatusBar = dstb
Application.StatusBar = stb
End Sub

20-10 字串的轉換

應用範例
Sub 轉換字串()
MsgBox “將使用中儲存格內的字串由大寫轉換為小寫”
a = ActiveCell.Value
b = StrConv(a, vbLowerCase)
ActiveCell.Value = b
End Sub

20-11 英文字元的轉換

應用範例
Sub 字串的大小寫轉換()
MsgBox “將使用中儲存格內字串中的小寫文字轉換為大寫文字”
a = ActiveCell.Value
ActiveCell.Value=UCase(a)
End Sub

20-12 計算字串的字數

應用範例
Sub 計算字串的字數()
MsgBox “顯示使用中儲存格內字串的字數”
MsgBox Len(ActiveCell.Value)
End Sub

20-13 刪除字串中頭尾的空白字元

應用範例1
Sub 刪除字串前端的空白字元()
MsgBox “刪除使用中儲存格內字串前端的空白字元”
ActiveCell.Value = LTrim(ActiveCell.Value)
End Sub

應用範例2
Sub 刪除字串前後端的空白字元()
moji = “ 彭 凱堯 ”
MsgBox “將變數moji前後端加上星號以利辨認其空白字元”
MsgBox “*” & moji & “*”
MsgBox “接著,刪除moji前後端的空白字元後,在其前後端加上星號,比較刪除前後的差異”
MsgBox “*” & Trim(moji) & “*”
End Sub

20-14 將字串分割成子字串

應用範例
Sub 分割字串()
MsgBox “將使用中儲存格內的字串以空白作為分割辨識依據,分割為子字串,並列於原字串的右側”
a = ActiveCell.Value
hairetu = Split(a, , 2, vbTextCompare)
i = 1
For Each youso In hairetu
ActiveCell.Offset(ColumnOffset:=i) = youso
i = i +1
Next youso
End Sub

20-15 設定陣列的元素

應用範例
Sub 陣列的應用()
MsgBox “在選取的儲存格範圍上繪製紅色的粗框線”
Sihen = Array(xlEdgeLeft, xlEdgeTop, xlEdgeBottom, xlEdgeRight)
For Each hen In sihen
With Selection.Borders(hen)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 3
End With
Next
End Sub

20-16 陣列的索引值

應用範例
Sub 陣列中的最低索引值與最高索引值()
Dim h(0 To 10)
MsgBox “顯示陣列中最低與最高索引值”
MsgBox “最低索引值:” & LBound(h)
MsgBox “最高索引值:” & UBound(h)
End Sub

20-17 亂數

應用範例
Sub 亂數()
MsgBox “在1與6之間產生亂數”
Randomize
MsgBox Int(Rnd() * 6 + 1)
End Sub

20-18 設定小數位數

應用範例
Sub Round函數的運用()
MsgBox “計算使用中儲存格經過四捨五入運算後的值,小數點後為兩位數”
ActiveCell.Value = Round(ActiveCell.Value, 2)
End Sub

20-19 取得數值中的整數部份

應用範例
Sub Fix和Int的差異()
MsgBox “將「-3 + 1÷3」的運算結果寫入儲存格A1,A2寫入Int函數的值,A3寫入Fix函數的值”
Range(“A1”).Value = -3 + 1 / 3
Range(“A2”).Value = Int(-3 + 1 / 3)
Range(“A3”).Value = Fix(-3 + 1 / 3)
End Sub

20-20 使用物件變數

應用範例
Sub Set陳述式的使用()
Set obj = Range(“A1”).Font
MsgBox “顯示變數obj的類型”
MsgBox TypeName(obj)
End Sub

20-21 取得變數的類型

應用範例
Sub 物件的類型()
MsgBox “顯示變數在運算時各種不同的類型”
suu = True
MsgBox “當suu = True時,其物件類型為:” & TypeName(suu)
suu = suu + 10
MsgBox “當suu = suu + 10時,其物件類型變為:” & TypeName(suu)
suu = suu > 10
MsgBox “當suu = suu > 10時,其物件類型變為:” & TypeName(suu)
End Sub

20-22 啟用滑鼠放大縮小視窗的功能

應用範例
Sub 滑鼠放大縮小視窗的功能()
MsgBox “切換啟用/停用滑鼠放大縮小視窗的功能”
MsgBox Application.RollZoom
Application.RollZoom = Not (Application.RollZoom)
MsgBox Application.RollZoom
End Sub

20-23 變更滑鼠的指標外觀

應用範例
Sub 變更滑鼠指標的外觀()
MsgBox “將滑鼠指標變更為沙漏指標”
cs = Application.Cursor
Application.Cursor = xlWait
MsgBox “回復原來的狀態”
Application.Cursor = cs
End Sub

20-24 輸入法的狀態

應用範例
Sub 輸入法狀態()
MsgBox “顯示目前輸入法狀態的常數值”
MsgBox IMEStatus
End Sub

20-25 儲存格內是否有資料

應用範例
Sub 儲存格內是否有資料()
MsgBox “若使用中儲存格內無資料,將顯示True”
MsgBox IsEmpty(ActiveCell.Value)
End Sub

20-26 設定計算模式

應用範例
Sub 切換計算模式()
keisan = Application.Calculation
If keisan = -4105 Then
MsgBox “目前的計算模式為自動,將變更為手動模式”
Application.Calculation = xlCalculationManual
Else
MsgBox “目前的計算模式為手動,將變更為自動模式”
Application.Calculation = xlCalculationAutomatic
End If
End Sub

20-27 發出聲音

應用範例
Sub 發出聲音()
MsgBox “讓電腦發出聲音”
Beep
End Sub

20-28 轉換ASCII碼及字元

應用範例
Sub 轉換ASCII碼及字元()
MsgBox “顯示A~Z”
moji = “”
For i = 65 To 90
moji = moji & Chr(i)
Next i
MsgBox moji
End Sub

20-29 顯示/隱藏資料編輯列

應用範例
Sub 顯示或隱藏資料編輯列()
MsgBox “切換資料編輯列的顯示狀態”
Application.DisplayFormulaBar = Not (Application.DisplayFormulaBar)
End Sub

20-30 設定儲存格的數字格式

應用範例
Sub 儲存格的數字格式()
MsgBox “將被選取的儲存格格式設為小數點後三位數的數值,若為負數則顯示為紅字”
keisiki = Selection.NumberFormatLocal
Selection.NumberFormatLocal = “0.000; [紅色] 0.000”
MsgBox “回復原來的狀態”
Selection.NumberFormatLocal = keisiki
End Sub

20-31 變更按住Enter鍵的儲存格移動方向

應用範例
Sub 按住Enter鍵的儲存格移動方向()
MsgBox “將按住Enter鍵的儲存格移動方向設為向右”
Application.MoveAfterReturnDirection = xlToRight
End Sub

20-32 開啟對話窗

應用範例
Sub 開啟對話窗()
MsgBox “開啟「開啟舊檔」對話窗”
dilog = Application.Dialogs(xlDialogOpen).Show
If dilog = False Then MsgBox “您已關閉對話窗”: Exit Sub
End Sub

0 Comments:

Post a Comment

<< Home