Chapter-01 儲存格/儲存格範圍
- 儲存格/儲存格範圍
- 選取儲存格(儲存格範圍)
應用範例1
Sub 選取儲存格範圍()
MsgBox “選取B3到D6的儲存格範圍”
Activesheet.Range(“B3:D6”).Select
End Sub
應用範例2
Sub 啟動儲存格 ()
MsgBox “選取B3到D6的儲存格範圍後將儲存格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 “將A1到C1儲存格內的資料與A4到C4儲存格內的資料相加”
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 “在A2到F6的儲存格範圍內加入範圍名稱「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 “合併A2到C2的儲存格,合併後儲存格中的文字將置中對齊”
Range(“A2:C2”).Select
With Selection
.MergeCells = True
.HorizontalAlignment = xlCenter
End With
End Sub
01-41 限制移動的範圍
應用範例1
Sub 限制移動的範圍()
MsgBox “將移動的範圍限制在B3到D6的儲存格範圍中”
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 “刪除C2到D6的儲存格範圍後,右側的儲存格(E2到E6)會向左移動”
ActiveSheet.Range(“C2:D6”).Delete(xlShiftToLeft)
End Sub
0 Comments:
Post a Comment
<< Home