Thursday, November 24, 2005

Chapter-01 儲存格/儲存格範圍

  1. 儲存格/儲存格範圍


  • 選取儲存格(儲存格範圍)

應用範例1
Sub 選取儲存格範圍()
MsgBox “選取B3D6的儲存格範圍
Activesheet.Range(“B3:D6”).Select
End Sub

應用範例2
Sub 啟動儲存格 ()
MsgBox “選取B3D6的儲存格範圍後將儲存格C5設定為使用中
  ActiveSheet.Range(“B3:D6”).Select
  Range(“C5”).Active
End Sub


  • 選取距使用中儲存格第×行、第×列的儲存格

應用範例
Sub 指定儲存格位置的Offset
MsgBox “顯示自使用中儲存格算起第3列、第2行儲存格的值
MsgBox ActiveCell.Offset(3,2).Value
End Sub


  • 選取符合條件的儲存格

應用範例
Sub 選取含有運算式的儲存格
MsgBox “選取所有輸入運算式的儲存格
ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas).Select
End Sub

01-04 選取設定了範圍名稱的儲存格範圍

應用範例
Sub 選取特定的儲存格範圍
MsgBox “選取被命名為Data的儲存格範圍
Application.Goto reference:= “Data”
End Sub

01-05 選取由空白列及空白行為邊界所組成的儲存格範圍

應用範例
Sub 選取整個表格()
MsgBox “選取包含使用中儲存格的整個表格
Activecell.CurrentRegion.select
End Sub

01-06 選取儲存格範圍

應用範例
Sub 選取儲存格的範圍()
MsgBox “以使用中儲存格為基準,選取該儲存格下數3格、右數4格的範圍
gyoul= Selection.Row
retul= Selection.Column
Range(Cells(gyoul,retul),cells(gyoul+3,retul+4)).select
End Sub


  • 捲動到指定的目標儲存格上

應用範例
Sub 捲動到指定的儲存格()
MsgBox “捲動到C100儲存格
Application.Goto reference:=ActiveSheet.Range(“C100”), Scroll:=True
End Sub


  • 選取使用中的儲存格範圍

應用範例
Sub 使用中的儲存格範圍()
MsgBox “選取使用中工作表內正在使用的儲存格範圍,並顯示其位置
ActiveSheet.UsedRange.Select
MsgBox ActiveSheet.UsedRange.Address
End Sub


  • 選取儲存格的末端

應用範例
Sub 選取末端儲存格()
MsgBox “在儲存格範圍內選取使用中儲存格最下方的儲存格
ActiveCell.End(xlDown).Select
End Sub


  • 設定/傳回儲存格內的值

應用範例
Sub 設定儲存格內的值()
MsgBox “將使用中儲存格內的值設為字串「VBA字典」
Activecell.Value = “VBA字典
End Sub


  • 設定儲存格內的運算式

應用範例
Sub 設定儲存格內的運算式()
MsgBox “將運算式「Average(B3:B6)」設定於使用中的儲存格內
Activecell.Formula = “=Average(B3:B6)”
End Sub


  • 設定儲存格的前/後方儲存格的值

應用範例
Sub 設定儲存格的左邊及右邊儲存格的值()
MsgBox “將使用中儲存格前面的儲存格內容設定為字串「VBA字典L」,後面的儲存格內容字串設定為「VBA字典R
ActiveCell.Previous.Value = “VBA字典L”
ActiveCell.Next.Value = “VBA字典R”
End Sub


  • 確認所有的目標儲存格內是否輸入運算式

應用範例
Sub 目標儲存格內是否都有輸入運算式()
If Selection.HasFormula = True Then
MsgBox “所選取的儲存格,全部都有輸入運算式
Else
MsgBox “所選取的儲存格中,部份儲存格沒有輸入運算式
End If
End Sub

01-14  取得與運算結果儲存格有直接關連性的運算來源儲存格

應用範例
Sub 選取儲存格的運算來源()
MsgBox “選取使用中儲存格的運算來源儲存格
ActiveCell.DirectPrecedents.Select
End Sub

01-15 取得與運算結果儲存格有直接及間接關連性的所有運算來源儲存格

應用範例
Sub 選取儲存格的所有運算來源儲存格()
MsgBox “選取使用中儲存格的所有運算來源儲存格
ActiveCell.Precedents.Select
End Sub


  • 以運算結果儲存格為參考點繪製/移除追蹤線

應用實例1
Sub 以運算結果儲存格為基準繪製到其運算來源的追蹤線()
MsgBox “以運算結果儲存格為基準繪製到其運算來源的追蹤線
ActiveCell.ShowPrecedents
End Sub

應用範例2
Sub 移除追蹤線()
MsgBox “移除已繪製的追蹤線
ActiveCell.ShowPrecedents Remove:=True
End Sub


  • 取得與運算來源儲存格有直接關連性的運算結果儲存格

應用範例
Sub 選取使用中儲存格的運算結果儲存格()
MsgBox “選取使用中儲存格的運算結果儲存格
ActiveCell.DirectDependents.Select
End Sub


  • 取得與運算來源儲存格有直接及間接關連性的所有運算結果儲存格

應用範例
Sub 選取與指定的儲存格有直接及間接關連性的所有運算結果儲存格()
MsgBox “選取與使用中儲存格有關連性的所有運算結果儲存格
ActiveCell.Dependents.Select
End Sub


  • 以運算來源儲存格為參考點繪製/移除追蹤線

應用實例1
Sub 以運算來源儲存格為基準繪製到其運算結果的追蹤線()
MsgBox “以運算來源儲存格為基準繪製到其運算結果的追蹤線
ActiveCell.ShowDependents
End Sub

應用範例2
Sub 移除追蹤線()
MsgBox “移除已繪製的追蹤線
ActiveCell.ShowDependents True
End Sub


  • 將儲存格範圍內的資料複製到別的儲存格

應用範例1
Sub 在儲存格範圍中使用複製及貼上()
MsgBox “B7儲存格內寫入運算式「Sum(B3:B6)」,再將儲存格B7的內容複製到C7:D7
Range(“B7”).Formula = “=Sum(B3:B6)”
Range(“B7”).Copy Destination:=Range(“C7:D7”)
End Sub

應用範例2
Sub 將不同儲存格範圍內的資料相加()
MsgBox “A1C1儲存格內的資料與A4C4儲存格內的資料相加
Range(“A1:C1”).Select
Selection.Copy
Range(“A4”).Select
Selection.PasteSpecial Paste:=xlall, Operation:=xladd, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub


  • 取得使用中儲存格行與列的值

應用範例
Sub 傳回使用中儲存格的位置()
MsgBox “顯示使用中儲存格的列值與行值
MsgBox “” & Selection.Row & “” & Selection.Column & “
End Sub


  • 取得儲存格範圍中儲存格的數量、列的數量及行的數量

應用範例
Sub 顯示儲存格的數量_列數_行數()
MsgBox “顯示被選取儲存格的儲存格數、列數、行數
MsgBox “選取範圍中的儲存格數量為:” & Selection.Count
MsgBox “選取範圍中的列數為:” & Selection.Rows.Count
MsgBox “選取範圍中的行數為:” & Selection.Columns.Count
End Sub


  • 刪除儲存格範圍內的資料

應用範例
Sub 刪除儲存格內的資料()
MsgBox “刪除儲存格範圍內的資料
Selection.ClearContents
End Sub


  • 刪除儲存格內的格式

應用範例
Sub 刪除儲存格中所設定的格式()
MsgBox “刪除儲存格範圍內的格式設定
Selection.ClearFormats
End Sub


  • 刪除儲存格中的資料及格式

應用範例
Sub 刪除儲存格內的資料及格式()
MsgBox “刪除儲存格中所有的資料、格式
Selection.Clear
End Sub


  • 文字的左右對齊方式

應用範例
Sub 文字的左右對齊方式()
MsgBox “在被選取的儲存格範圍中,將文字的左右對齊方式設定為置中
Selection.HorizontalAlignment = xlHAlignCenter
End Sub


  • 文字的上下對齊方式

應用範例
Sub 文字的上下對齊方式()
MsgBox “在被選取的儲存格範圍中,將文字的上下對齊方式設定為置中
Selection.RowHeight = 36
Selection.VerticalAlignment = xlVAlignCenter
End Sub


  • 變更文字縮排的縮排值

應用範例
Sub 變更縮排值()
MsgBox “在被選取的儲存格範圍中將縮排值加1”
Selection.InsertIndent 1
MsgBox “將縮排值回復原值
Selection.InsertIndent -1
End Sub


  • 變更文字的角度

應用範例
Sub 變更文字的角度()
MsgBox “將所選取的儲存格中文字順時鐘旋轉45
Selection.Orientation = 45
MsgBox “將文字由橫向變更為縱向
Selection.Orientation = xlVertical
MsgBox “將文字的排列還原為預設值
Selection.Orientation = xlHorizontal
End Sub


  • 自動換列

應用範例
Sub 自動換列()
MsgBox “將所選取的儲存格設定為自動換列
orikaesi = Selection.WrapText
Selection.WrapText = True
MsgBox “回復原來的狀態
Selection.WrapText = orikaesi
End Sub


  • 將比儲存格列寬還長的文字尺寸縮小到能納入列寬的大小

應用範例
Sub 將文字縮小到與列寬相同()
MsgBox “將長於列寬的文字縮小到與列寬相同
tf = Selection.ShrinkToFit
Selection.ShrinkToFit = True
MsgBox “回復原來的狀態
Selection.ShrinkToFit = tf
End Sub


  • 賦與儲存格新的名稱

應用範例
Sub 設定範圍名稱()
MsgBox “A2F6的儲存格範圍內加入範圍名稱「Data
ActiveWorkbook.Names.Add Name:=“Data”, RefersTo:=“=$A$2:$F$6”
End Sub


  • 刪除儲存格名稱

應用範例
Sub 刪除儲存格名稱()
MsgBox “將儲存格名稱「Data」刪除
ActiveWorkbook.Names(“Data”).Delete
End Sub

01-34 格式條件

應用範例
Sub 格式化條件()
MsgBox “在指定的儲存格範圍中將儲存格值小於50的儲存格文字變更為紅色
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLessEqual, Formula1:=“50”
Selection.FormatConditions(1).Font.ColorIndex = 3
MsgBox “回復預設的文字顏色
Selection.FormatConditions(1).Font.ColorIndex = XlAutomatic
End Sub

01-35 插入註解

應用範例
Sub 插入註解()
MsgBox “在使用中儲存格插入「請在本儲存格輸入日期」的註解
ActiveCell.AddComment (“請在本儲存格輸入日期”)
ActiveCell.Comment.Visible = True
End Sub

01-36 隱藏註解

應用範例
Sub 切換註解顯示及隱藏的狀態()
MsgBox “切換使用中儲存格的註解顯示狀態
ActiveCell.Comment.Visible = Not(ActiveCell.Comment.Visible)
End Sub

01-37 刪除註解

應用範例
Sub 刪除註解()
MsgBox “刪除使用中儲存格內的註解
ActiveCell.ClearComments
End Sub

01-38 改變儲存格的顏色

應用範例
Sub 改變儲存格的顏色()
MsgBox “將選取的儲存格顏色改變為紅色
iro = Selection.Interior.ColorIndex
Selection.Interior.ColorIndex = 3
MsgBox “將顏色改變為藍色
Selection.Interior.Color = RGB(0,0,255)
MsgBox “回復原來的狀態
Selection.Interior.ColorIndex = iro
End Sub

01-39 改變儲存格的圖樣

應用範例
Sub 改變儲存格的圖樣()
MsgBox “Pattern常數值的順序改變被選取儲存格的圖樣
p = Selection.interior.Pattern
pc = Selection.Interior.PatternColorIndex
For i = 9 to 16
With Selection.Interior
.Pattern = i
.PatternColor = RGB(255,0,0)
End With
MSgBox “常數值: ” & i
Next i
MsgBox “回復原來的狀態
Selection.Interior.Pattern = p
Selection.Interior.PatternColorIndex = pc
End Sub

01-40 合併儲存格

應用範例
Sub 合併儲存格()
MsgBox “合併A2C2的儲存格,合併後儲存格中的文字將置中對齊
Range(“A2:C2”).Select
With Selection
.MergeCells = True
.HorizontalAlignment = xlCenter
End With
End Sub

01-41 限制移動的範圍

應用範例1
Sub 限制移動的範圍()
MsgBox “將移動的範圍限制在B3D6的儲存格範圍中
ActiveSheet.ScrollArea = “B3:D6”
End Sub

應用範例2
Sub 解除活動範圍的限制()
MsgBox “解除活動範圍的限制
ActiveSheet.ScrollArea = “”
End Sub

01-42 取得儲存格的位置

應用範例
Sub 取得儲存格各種格式的位置()
MsgBox “顯示被選取的儲存格範圍位置
MsgBox “列與行的絕對位置: ” & Selection.Address
MsgBox “行的絕對位罝: ” & Selection.Address(RowAbsolute:=False)
MsgBox “列的絕對位置: ” & Selection.Address(ColumnAbsolute:=False)
MsgBox “R1型式來表示: ” & Selection.Address(ReferenceStyle:=xlR1C1)
MsgBox “列與行的相對位置: ” & Selection.Address(False, False)
End Sub

01-43 刪除儲存格範圍

應用範例
Sub 刪除儲存格範圍()
MsgBox “刪除C2D6的儲存格範圍後,右側的儲存格(E2E6)會向左移動
ActiveSheet.Range(“C2:D6”).Delete(xlShiftToLeft)
End Sub

0 Comments:

Post a Comment

<< Home