#Excel VBA#解讀(40):告訴你單元格住在哪兒——使用Address屬性獲取單元格地址

2021-12-28 完美Excel

《完美Excel》微信公眾帳號:excelperfect

 

在Excel工作表中,通過頂部行的字母標識和左側列的數字標識,我們能夠很直觀地看出單元格或單元格區域的地址,即通常我們所說的單元格A1、單元格區域A1:B5等。

Excel對象模型也提供了Address屬性,讓我們通過VBA代碼知道單元格或單元格區域的地址。下面,我們舉幾個簡單的代碼示例。

 

代碼:

    ActiveCell.Address

返回當前工作表中當前單元格的地址。

代碼:

    Selection.Address

返回當前工作表中所選區域的地址。

代碼:

    Range("A1").CurrentRegion.Address

返回當前工作表中單元格A1所在單元格區域的地址。

代碼:

    ActiveSheet.UsedRange.Address

返回當前工作表中已使用單元格區域的地址。

 

上述代碼的運行結果如下圖所示。

Address屬性的語法如下:

    Range對象 .Address(RowAbsolute, ColumnAbsolute,ReferenceStyle, External, RelativeTo)

說明:

所有參數均為可選項。

參數RowAbsolute設置為True,則返回的地址行部分為絕對引用。默認值為True。

參數ColumnAbsolute設置為True,則返回的地址的列部分為絕對引用。默認值為True。

參數ReferenceStyle設置返回的地址的引用樣式,可以設置為xlA1(A1樣式)或xlR1C1(R1C1樣式)。默認值為xlA1。

參數External設置為True,返回的地址包含工作簿名和工作表名。設置為False,返回本地地址(即不帶工作簿名和工作表名)。默認值為False。

如果參數RowAbsolute和ColumnAbsolute設置為False,參數ReferenceStyle設置為xlR1C1,那麼必須將參數RelativeTo設置為相對的起始單元格對象。

 
下面為我們設置Address屬性的參數的示例代碼和運行結果:

Sub AddressTest()

    MsgBox "不帶參數的結果:" &_

                ActiveCell.Address & vbCrLf& _

           "設置RowAbsolute參數的結果:"& _

               ActiveCell.Address(RowAbsolute:=False) & vbCrLf & _

           "設置ColumnAbsolute參數的結果:"& _

                ActiveCell.Address(ColumnAbsolute:=False)& vbCrLf & _

           "前面兩個參數均設置的結果:"& _

               ActiveCell.Address(RowAbsolute:=False, ColumnAbsolute:=False) &vbCrLf & _

           "設置ReferenceStyle參數的結果:"& _

                ActiveCell.Address(RowAbsolute:=False,ColumnAbsolute:=False, ReferenceStyle:=xlR1C1,RelativeTo:=Range("C1")) & vbCrLf & _

           "設置External參數的結果:"& _

               ActiveCell.Address(External:=True)

End Sub

代碼的示例工作表和運行結果如下圖所示:


---

如果您對本文有什麼建議或好的示例,請告訴我:xhdsxfjy@163.com

 

通過下列方式可以更快地了解完美Excel更新:

 

關注《完美Excel》微信公眾帳號:

方法1—點擊右上角的按鈕,選擇「查看公眾號」,點擊關注

方法2—在添加朋友中搜索excelperfect

方法3—微信掃一掃下面網址中的二維碼

http://www.excelperfect.com/wordpress/wp-content/uploads/2014/02/excelperfect.jpg

 

新浪微博名:完美Excel

個人博客:www.excelperfect.com

文章轉載請註明出處!

相關焦點

  • #Excel VBA#解讀(37):單元格的擴張——Resize屬性
    最近在看歷史書,講到了很多國家兼併擴張的故事,很多地方你爭我奪,不亦樂乎。如果說國家的擴張源於君主的野心和利益,那Excel單元格的擴張呢? 我們可以使用Resize屬性將單元格或單元格區域擴大,看看下面的例子。語句: Range("A1").Select選擇單元格A1。這在前面的文章中已介紹過。
  • #Excel VBA#解讀(34):找到單元格所在的行列號——Row屬性和Column屬性
    在工作表的左側邊,我們可以看到每一行的行號,在工作表的上方,我們可以看到代表每一列的列字母,因此在工作表中,我們可以很容易知道當前活動單元格處在哪一行哪一列,或者當前活動單元格處在某單元格區域的位置。然而,在VBA中,我們如何知道我們所操縱的單元格的位置呢?這就是下面我們將要介紹的內容。
  • V.203如何使用range對象的address屬性獲取單元格地址
    運行代碼如下:運行結果如下:註解:獲取單元格或單元格區域的地址在VBA代碼中,對於某些需要使用所選擇的單元格或單元格區域的地址時(在不能輸入地址的情況下),可使用Range對象中的Address屬性來獲取單元格區域的地址。
  • Excel VBA UsedRange屬性獲取使用的單元格區域
    UsedRange屬性獲取使用的單元格區域需要Excel原始碼的請點擊關注,私信回覆:布魯斯 示例代碼:#001 Public Sub 示例() >#002 ActiveSheet.UsedRange.Select #003 '使用這代碼必須是在當前工作表為Sheet1運行#004 Sheets("Sheet1").UsedRange.Select
  • 使用Excel表格的VBA(宏)來獲取某個單元格的字體和字號等信息
    ,字號相同的顯示到其他的單元格中,可以使用下面的代碼。我們重新設置一下A1單元格的字體和字號後,運行vba,A3單元格的字體,字號就和A1相同了。Range("a1").Characters(3, 1).Font.Size Range("a5").Select ActiveCell.FormulaR1C1 = x1Range("a3").Font.Size = x1Range("a3").Font.Name = x2End SubRange("a3").Font.Size = x1就是把A1單元格中獲取到的字號
  • Excel VBA Value屬性清空單元格
    需要Excel原始碼的請評論區留言、點擊關注和轉發,然後直接私信回覆:原始碼用Value = ""的方法對單元格進行賦值,達到清空單元格信息的效果,但和Clear的主要區別是:賦空值只是刪除內容,但其他設置不變(比如
  • Excel vba獲取當前當前單元格的行號和列號
    Excel vba獲取當前當前單元格的行號和列號在Excel單元格中,我們在編寫語句代碼的時候需要獲取指定單元格的行號和列號如圖,將指定單元格的行號和列號分別填入表中>在vbe窗口中,添加以下代碼Sub 單元格行列號() Selection.Offset(1, 0) = Selection.Row Selection.Offset(1, 2) = Selection.Column End Sub
  • Excel VBA Row和Column屬性獲取單元格行列號
    #003 Dim j As Byte#004 Range("A1").Value = ""#005 Range("B6").Value = "我的行列號是"#006 i = Range("B6").Row '獲取
  • Excel VBA單元格的引用方法,Cells屬性方法你知幾何
    在上一期我們說到range的用法了,這次我們說說單元格的另一種表示方法。它使用的屬性和range是非常類似的。,你還是不太熟悉,我們舉一個通俗一點例子:1、對象.cells(rowsindex,colunmindex)假如我們想在sheet1中的A1單元格輸入100,是這樣寫代碼的。
  • VBA統計單元格圖片數量
    而且,我還幫他想到了不規範的情況,比如:圖片邊界超出單元格區域,單元格中摻雜非圖片等其他shape對象。shape對象的Topleftcell屬性,獲取圖片左側的單元格的行號,存入動態數組    Next    rmax = Application.Max(arr) 
  • Excel VBA Range屬性引用單元格
    需要Excel原始碼的請點擊關注,私信:布魯斯在Excel日常操作中,我們對Range單元格操作最頻繁,比如:對單元格賦值、複製、粘貼、插入行、插入列等等,那麼要對單元格進行操作,我們要先引用單元格。).Select '引用連續的單元格#004 Range("A:A").Select '引用A列單元格區域#005 Range("1:1").Select '引用第一行單元格區域
  • Excel VBA Cells屬性引用單元格
    Cells屬性引用單元格需要Excel原始碼的請點擊關注,私信回覆:布魯斯 實例代碼:#001 PublicSheet1").Cells(i, 2).Value = i + Sheets("Sheet1").Cells(i, 1).Value#008 Next#009 End Sub 運行結果如所示:圖 13 Cells屬性引用單元格
  • Excel VBA解讀(140): 從調用單元格中獲取先前計算的值
    如果有一個依賴於一些計算慢的資源的用戶定義函數,可能希望該用戶定義函數在大多數情況下只返回其佔用的單元格中最後一次計算得到的值,並且只偶爾使用計算慢的資源。 假設要給用戶定義函數傳遞一個計算慢的資源的參數,並讓一個開關告訴它何時使用計算慢的資源。
  • Excel VBA Value屬性複製單元格區域數據
    #003 Range("B7:F11").Value = Range("A1").CurrentRegion.Value '複製到本表的B7位置#004 End Sub 運行結果如所示:圖 240 Value屬性複製單元格區域數據
  • Excel VBA Offset屬性引用單元格區域
    Offset屬性引用單元格區域需要Excel原始碼的請點擊關注和轉發,私信回覆:布魯斯 示例代碼:#001Public Sub 實例1_9()#002 'Range ("A1:D4") 為目前選定的單元格區域#003 '選定的單元格區域向右偏移2個單元格,再向下偏移5個單元格#004 ActiveSheet.Range("A1:D4").Offset(5, 2)
  • Excel VBA Rows和Columns屬性獲取單元格區域行列數
    Dim i As Byte#003 Dim j As Byte#004 ActiveSheet.Range("C7:D10").Select#005 i = ActiveSheet.Range("C7:D10").Rows.Count '獲取選擇區域的行數
  • Excel公式技巧56:獲取最大值/最小值所在的單元格地址
    學習Excel技術,關注微信公眾號:excelperfect 在《Excel公式技巧54:在多個工作表中查找最大值最小值
  • excel怎麼合併單元格?合併單元格的快捷鍵是什麼?
    本篇將介紹excel怎麼合併單元格?合併單元格的快捷鍵是什麼?,有興趣的朋友可以了解一下!excel是我們經常使用的一款表格製作工具,它的一些常用功能我們應該要了解。今天小編帶領大家一起來學習excel合併單元格的操作,excel合併單元格是excel中用的非常頻繁的一個功能,還不熟練的朋友趕快動起手來和小編一起學習。
  • Excel公式技巧57:獲取最大值/最小值所在的單元格地址(跨多工作表)
    最小值所在的單元格地址》中,我們使用公式獲取一個工作表中最大值和最小值所在的單元格地址。本文更進一步,獲取工作簿中多個工作表的最大值/最小值所在的單元格地址。 在《Excel公式技巧54:在多個工作表中查找最大值最小值》中,我們使用公式:=MIN(Sheet1:Sheet3!A1:D4)獲取多個工作表中的最小值。使用公式:=MAX(Sheet1:Sheet3!
  • VBA基礎-單元格對象(二)屬性
    >詳細的學習VBA中對單元格對象的引用方式、屬性、方法,是學習VBA必須要打好的基礎。這節課我們先講解單元格對象的一些屬性、方法。我們一般用end屬性獲取某列的最後一個非空單元格的行號Cells(Rows.Count, "A").End(xlUp).row