VBA|使用Range對象02:獲取單元格信息

通過不同的方式獲取對Excel工作表單元格區域的引用後,在VBA中引用這些對象即可獲取單元格區域的各種信息。

目錄

1 用Address屬性獲取單元格地址

2 獲取區域的行列信息

3 用HasFormula屬性統計區域中公式數量

4 追蹤公式單元格

5 用ColorIndex屬性按顏色統計單元格數量

1 用Address屬性獲取單元格地址

Sub 當前單元格地址()

Dim rng1 As Range

Dim str1 As String, strTitle As String

Set rng1 = ActiveCell

strTitle = "當前單元格地址"

str1 = "絕對地址:" & rng1.Address & vbCrLf

str1 = str1 & "行的絕對地址:" & rng1.Address(RowAbsolute:=False) & vbCrLf

str1 = str1 & "列的絕對地址:" & rng1.Address(ColumnAbsolute:=False) & vbCrLf

str1 = str1 & "以R1C1形式顯示:" & rng1.Address(ReferenceStyle:=xlR1C1) & vbCrLf

str1 = str1 & "相對地址:" & rng1.Address(False, False)

MsgBox prompt:=str1, Title:=strTitle

End Sub

2 獲取區域的行列信息

Sub 當前區域信息()

Dim rng1 As Range, str1 As String

Set rng1 = ActiveCell.CurrentRegion

str1 = "當前區域信息:" & vbNewLine

str1 = str1 & "單元格數量:" & rng1.Cells.Count & vbNewLine

str1 = str1 & "行數:" & rng1.Rows.Count & vbNewLine

str1 = str1 & "列數:" & rng1.Columns.Count & vbNewLine

str1 = str1 & "表頭行數:" & rng1.ListHeaderRows

MsgBox str1, vbOKOnly, "當前區域信息"

Set rng1 = Nothing

End Sub

3 用HasFormula屬性統計區域中公式數量

Sub 當前區域公式數量()

Dim c1 As Range, rng1 As Range

Dim i As Integer

Set rng1 = ActiveCell.CurrentRegion

For Each c1 In rng1.Cells

If c1.HasFormula Then

i = i + 1

End If

Next

If i > 0 Then

MsgBox "當前單元格所在區域共有 " & i & " 個公式。"

Else

MsgBox "當前單元格所在區域沒有公式。"

End If

End Sub

4 追蹤公式單元格

主要反映的是公式所在單元格與公式引用單元格的關係。

Sub 追蹤引用單元格()

ActiveCell.ShowPrecedents

End Sub

Sub 追蹤從屬單元格()

ActiveCell.ShowDependents

End Sub

上面過程執行完成後,如果存在引用或從屬關係,則會在單元格之間出現一條藍線。

5 用ColorIndex屬性按顏色統計單元格數量

Sub 按顏色統計單元格()

Dim rng As Range, rng1 As Range

Dim i As Integer, Arr(1 To 56) As Integer, k As Integer

Set rng = ActiveSheet.UsedRange "獲取使用區域

For Each rng1 In rng "循環處理區域中的每個單元格

k = rng1.Interior.ColorIndex "獲取填充色

If k <> xlColorIndexNone Then "具有底色

Arr(k) = Arr(k) + 1 "對應顏色數組中進行累加

End If

Next

i = 8 "統計單元格顯示的位置

For k = 1 To 56

If Arr(k) <> 0 Then

Cells(i, 1).Interior.ColorIndex = k

Cells(i, 2) = Arr(k)

i = i + 1

End If

Next

End Sub

-End-

你的讚賞是我堅持原創的動力

讚賞共 0 人讚賞
推薦閱讀:

沒靠山,只靠自己也能獲取成功的星座星
走近你,本想獲取一縷陽光
師說 | 張明楷:非法獲取虛擬財產的行為性質(下)
快速成交話術與技巧:三招獲取客戶內在需求,打破溝通障礙!
一頓飯獲取全面營養的秘笈大公開!幫自己和家人改善健康就從吃開始!

TAG:信息 | 獲取 | 單元格 |