用戶可對儲存格進行多種操作, 如, 輸入資料、刪除資料、設置公式、複製資料、合併和拆分儲存格等操作。 這些操作可以直接在儲存格上進行, 也可以使用VBA代碼。
目錄
1 用Formula屬性給儲存格設置公式
2 用PasteSpecial方法粘貼公式
3 用CVErr函數給儲存格設置錯誤值
4 用IsError函數判斷錯誤類型
5 用PrintArea屬性設置列印範圍
6 用Merge方法合併儲存格
7 用UnMerge方法拆分儲存格
8 用ScrollArea屬性限制儲存格移動範圍
9 用Clear方法清除儲存格
10 用Delete方法刪除儲存格區域
1 用Formula屬性給儲存格設置公式常見的寫法如下:
Sheet1.Range("A1").Formula = "=$A$4+$A$10"
Sheet1.Range("A1").Formula = "=SUM(B2:D2)"
Sheet1.Range("A1").FormulaR1C1 = "=SQRT(R1C1)"
2 用PasteSpecial方法粘貼公式Sub 複製公式()
Dim i As Integer
With Sheet1
.Range("E2").Copy
For i = 3 To 5
.Range("E" & i).PasteSpecial Paste:=xlPasteFormulas
Next
End With
End Sub
3 用CVErr函數給儲存格設置錯誤值Sub 設置錯誤值()
Dim arr1, i As Integer
arr1 = Array(xlErrNull, xlErrDiv0, xlErrValue, xlErrRef, _
xlErrName, xlErrNum, xlErrNA)
For i = 1 To 7
ActiveSheet.Cells(8, i).Value = CVErr(arr1(i - 1))
Next i
End Sub
4 用IsError函數判斷錯誤類型Sub 判斷錯誤類型()
Dim err_val
If IsError(ActiveCell.Value) Then
err_val = ActiveCell.Value
Select Case err_val
Case CVErr(xlErrDiv0)
MsgBox "#DIV/0! error"
Case CVErr(xlErrNA)
MsgBox "#N/A error"
Case CVErr(xlErrName)
MsgBox "#NAME? error"
Case CVErr(xlErrNull)
MsgBox "#NULL! error"
Case CVErr(xlErrNum)
MsgBox "#NUM! error"
Case CVErr(xlErrRef)
MsgBox "#REF! error"
Case CVErr(xlErrValue)
MsgBox "#VALUE! error"
Case Else
MsgBox "不可識別錯誤!"
End Select
End If
End Sub
5 用PrintArea屬性設置列印範圍Sub 設置列印範圍()
Dim str1 As String
str1 = ActiveSheet.UsedRange.Address
ActiveSheet.PageSetup.PrintArea = str1
str1 = ""
End Sub
6 用Merge方法合併儲存格Range("A1","C3").Merge
Sub 拆分儲存格()
Dim rng As Range
If Not Selection.MergeCells Then
MsgBox "選中區域不是合併區域!"
Exit Sub
End If
Selection.UnMerge '拆分儲存格
For Each rng In Selection '逐個處理選中區域的儲存格
If rng = "" Then '若目前的儲存格為空
rng = rng.Offset(-1, 0).Value '取上一儲存格的值
End If
Next
End Sub
8 用ScrollArea屬性限制儲存格移動範圍Sub 限制移動範圍()
Dim rng1 As Range, str1 As String
Set rng1 = ActiveCell.CurrentRegion
str1 = rng1.Address
MsgBox "將儲存格的移動範圍限制在儲存格當前區域 " & str1 & " 之內"
ActiveSheet.ScrollArea = str1
End Sub
Sub 解除範圍限制()
MsgBox "解除移動範圍限制"
ActiveSheet.ScrollArea = ""
End Sub
9 用Clear方法清除儲存格Sheet1.Range("A1:G37").clear '清除儲存格區域中的內容、公式、格式設置
Sheet1.Range("A1:G37").clearContents '清除儲存格區域中的內容
Sheet1.Range("A1:G37").clearFormats '清除儲存格區域中的格式設置
Sheet1.Range("A1:G37").clearComments '清除儲存格區域中的批註
10 用Delete方法刪除儲存格區域Sub 刪除儲存格()
Dim rng1 As Range
Set rng1 = Selection
rng1.Delete (xlShiftToLeft)
Set rng1 = Nothing
End Sub
-End-