儲存格
[R1C1]格式,[A1]格式Cells(列次,欄次).Select
Cells(2, "A").Select '2列A欄
Cells(2, 1).Select '2列1欄
Cells.Item(5,”C”) ‘引儲存格C5
Cells.Item(5,3) ‘引儲存格C5
'作用儲存格:ActiveCell
ActiveCell.Address
ActiveCell.ColumnActiveCell.Row
ActiveCell.Characters(m, n).Delete '從第m個字元起刪除n個字元
'選取、激活:
Range(ActiveCell, "D9").Select ‘由ActiveCell到B9的矩形區域
[B3].Select
ActiveCell.Range("B3:D5").Select ‘由ActiveCell(向右2【B3的B】,向下3【B3的3】)選取與「B3:D5」相同形狀的矩形區域
ActiveCell.CurrentRegion.Select 或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select
'選擇當前活動儲存格所包含的範圍,上下左右無空行
Cells.Select ‘選定當前工作表的所有儲存格
Range("A1").Select
Selection.Range(“E4”).Select ‘激活當前活動儲存格下方3行,向右4列的儲存格
Range(“A1”).Offset(RowOffset:=4,ColumnOffset:=5)
Range(“A1”).Offset(4,5) ‘指定儲存格F5
選取單格、單一區域:
Cells(3, 2).Select
‘選取3列2行的儲存格(單格)
Range("B2").Select ‘選取目前工作表的B2儲存格(單格)
Range("B2:C5").Select
‘選取目前工作表的B2到C5的矩形區域
Range(Cells(2, 2), Cells(10, 6)).Select
‘選取所有的欄、列、工作表
Range("B:B").Select ‘選取B欄全部
Range("B:D").Select ‘選取B到D欄全部
Range("2:2").Select ‘選取2列全部
Range("2:7").Select ‘選取2到7列全部
Columns("B:B").Select ‘選取B欄全部
Columns("A").Select ‘選取A欄全部
Columns(3).Select ‘選取第3欄全部
Columns.Select ‘選取所有的欄
Rows(2).Select
Rows.Select ‘選取所有的列
Range("範圍名稱").Select
Selection.Offset(3,
1).Select ‘單格位移:下移3列,右移1行。
Cells.Select
‘選取不相鄰的範圍
l
Dim NewRange As Range
Set NewRange = Union(Range(Cells(1, 1), Cells(2, 2)), Range(Cells(5, 5), Cells(6, 6)))
NewRange.Select
Set NewRange = Union(Range(Cells(1, 1), Cells(2, 2)), Range(Cells(5, 5), Cells(6, 6)))
NewRange.Select
l
Range("B2:C5,D6:E9").Select ‘選取目前工作表的B2到C5及D6到E9的矩形區域
‘第1個工作表的某個區域全填入5,其中Sheet1不是工作表名稱,只是代表第1個工作表與Sheets(1)相同。
Sheet1.Range(Sheet1.Cells(2, 2), Sheet1.Cells(5, 5)).Value = 5
'合併儲存格、解除合併儲存格
Selection.Merge
Selection.UnMerge
複製貼上:
Range(“A1”).Copy Range(“B1”) '複製儲存格A1,粘貼到儲存格B1中Range(“A1:D8”).Copy Range(“F1”) '將儲存格區域複製到儲存格F1開始的區域中
Range(“A1:D8”).Cut Range(“F1”) '剪切儲存格區域A1至D8,複製到儲存格F1開始的區域中
Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) '複製包含A1的儲存格區域到工作表2中以A1起始的儲存格區域中
註:CurrentRegion屬性等價於定位命令,由一個矩形儲存格塊組成,周圍是一個或多個空行或列
ActiveWindow.RangeSelection.Value=XX '將值XX輸入到所選儲存格區域中
清除:
Range(“A1”).ClearContents '清除活動工作表上儲存格A1中的內容Selection.ClearContents '清除選定區域內容
Selection.Clear '清除選定區域內容與格式
Range(“A1:D4”).ClearContents '徹底清除A1至D4儲存格區域的內容
Range(“A1:D4”).Clear '徹底清除A1至D4儲存格區域的內容與格式
Cells.Clear '清除工作表中所有儲存格的內容與格式
Cells.ClearContents '清除工作表中所有儲存格的內容
移動:
ActiveCell.Offset(m,0).Select '活動儲存格下移m列ActiveCell.Offset(m).Select '活動儲存格下移m列
ActiveCell.Offset(0,n).Select '活動儲存格右移n欄
ActiveCell.Offset(,n).Select '活動儲存格右移n欄
Range(“A1”).Offset(ColumnOffset:=n)或Range(“A1”).Offset(,n) ‘偏移n欄
Range(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1) ‘向上偏移一列
取得目前情況:
cells.count ‘返回當前工作表的儲存格數
ActiveWindow.RangeSelection.Count '活動窗口中選擇的儲存格數
Selection.Count '當前選中區域的儲存格數
Selection.Columns.Count ‘當前選中的儲存格區域中的列數
Selection.Rows.Count ‘當前選中的儲存格區域中的行數
Selection.Areas.Count ‘選中的儲存格區域所包含的區域數
TextColor=Range(“A1”).Font.ColorIndex ‘檢查儲存格A1的文本顏色並返回顏色索引
Range(“A1”).Interior.ColorIndex ‘獲取儲存格A1背景色
設定:
Rows.RowHeight 指定範圍內的所有列高
Columns.ColumnsWidth:指定範圍內的所欄寬
expression.NumberFormatLocal 以本地的數字格式
Range.CurrentRegion 目前區域是指以任意空白列及空白欄的組合為邊界的範圍
區域的操作:
Range(“B3”).Resize(RowSize:=11,ColumnSize:=3)
Rnage(“B3”).Resize(11,3) ‘創建B3:D13區域
Range(“Data”).Resize(,2) ‘將Data區域擴充2列
Union(Range(“Data1”),Range(“Data2”)) ‘將Data1和Data2區域的聯集
Intersect(Range(“Data1”),Range(“Data2”)) ‘返回Data1和Data2區域的交集區域
Range(“Data”).Count ‘儲存格區域Data中的儲存格數
Range(“Data”).Columns.Count ‘儲存格區域Data中的列數
Range(“Data”).Rows.Count ‘儲存格區域Data中的行數
ActiveSheet.UsedRange.Row ‘取得儲存格區域中使用的第一行的行號
Rng.Column ‘獲取儲存格區域Rng左上角儲存格所在列編號
名稱
Range(“A1:C3”).Name=“computer” ‘命名A1:C3區域為computer
或Range(“D1:E6”).Name=“Sheet1!book” ‘命名局部變量,即Sheet1上區域D1:E6為book
或 Names(“computer”).Name=“robot” ‘將區域computer重命名為robot
Names(“book”).Delete ‘刪除名稱
Names.Add Name:=“ContentList”,_
RefersTo:=“=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))” ‘動態命名列
Names.Add Name:=“Company”,RefersTo:=“CompanyCar” ‘命名字符串CompanyCar
Names.Add Name:=“Total”,RefersTo:=123456 ‘將數字123456命名為Total。注意數字不能加引號,否則就是命名字符串了。
Names.Add Name:=“MyArray”,RefersTo:=ArrayNum ‘將數組ArrayNum命名為MyArray。
Names.Add Name:=“ProduceNum”,RefersTo:=“=$B$1”,Visible:=False ‘將名稱隱藏
ActiveWorkbook.Names(“Com”).Name ‘返回名稱字符串
範例:
Worksheets("Sheet1").Activate
expression.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) 以參照的方式
RowAbsolute 為True,則用列的絕對位址
ColumnAbsolute 為True,則用欄的絕對位址
ReferenceStyle 預設值為xlA1,如為xlR1C1則為R1C1的表達方式
expression.count 傳回範圍的數量(可以是欄數、列數或儲存格數量)
expression.Item(RowIndex, ColumnIndex) 代表相對於指定之範圍某個位移距離的範圍。
expression.value 傳回或設定物件的值
expression.Formula 傳回或設定物件的公式,代表 A1 樣式註解以及巨集語言中的物件公式。
範例:Worksheets("Sheet1").Range("A1").Formula = "=$A$4+$A$10"
expression.FormulaR1C1 傳回或設定物件的公式,並以巨集語言中的 R1C1 樣式標記法表示
範例:Worksheets("Sheet1").Range("B1").FormulaR1C1 = "=SQRT(R1C1)"
expression.Text 傳回或設定物件的文字
感謝大大,獲益良多
回覆刪除我想要把資料複製到目前所在的儲存格上,請問要如何寫 ((醬為甚麼不行Range("A2:b2").Copy Range(ActiveCell)
回覆刪除Sub 投信買賣公式()
回覆刪除Sheets("投信彙整").Select
AA = 10
BB1 = 6 '=F
BB2 = 10 '=J
XX = 1
Do While XX <= 3
Cells(6, AA) = "=VLOOKUP($A6,法人買賣! R1C" & BB1 & ":R2000C" & BB2 & ",3,FALSE)"
' 原來在工作表上的公式 =VLOOKUP($A6,法人買賣!F1:J2000,3,FALSE)
AA = AA + 1
B1 = B1 + 5
B2 = B2 + 5
XX = XX + 1
Loop
End Sub
請教先進 以上這段巨集哪裡錯誤了 執行到 Cells(6, AA) = "=VLOOKUP($A6,法人買賣! R1C" & BB1 & ":R2000C" & BB2 & ",3,FALSE)" 這一句時,一直出現錯誤,而中斷執行。
麻煩賜教 感謝您