VBA中OFFSET函數的實際利用


今日繼續講VBA實用代碼的第十講,相信大家通過這系列的文章學到了很多,今日着重講解OFFSET函數在VBA中的利用。

1 Range("A32", Range("A32").End(xlUp)).Select

Range(ActiveCell, ActiveCell.End(xlUp)).Select

語句說明:執行上述代碼后選擇當前活動單元格向上至第一個非空單元格:

備注:ActiveCell是指當前活動單元格。

2 Range("A1", Range("A1").End(xltoRight)).Select

Range(ActiveCell, ActiveCell.End(xltoLeft)).Select

語句說明:執行上述代碼后選擇當前活動單元格向右至第一個非空單元格。

備注:是 "xlTORight"而不是 "xlRight"

3 Range("A2", Range("A2").Offset(0, 10)).Select

Range(ActiveCell, ActiveCell.Offset(0, 10)).Select

語句說明:執行上述代碼后選擇當前活動單元格向右至第10個單元格。

備注: OFFSET函數的意義與EXCEL函數中的意義有所不同。可以把他看做一個單元格的屬性,即Range.Offset 屬性。返回 Range 對象,它代表位於指定單元格區域的一定的偏移量位置上的區域。

表達式:Offset(RowOffset, ColumnOffset)

其中參數:RowOffset, ColumnOffset代表偏移行,列。數字可以是正數,負數,零值

RowOffset 可選 Variant 區域偏移的行數(正數、負數或0(零))。正數表示向下偏移,負數表示向上偏移。默認值是 0。

ColumnOffset 可選 Variant 區域偏移的列數(正數、負數或0(零))。正數表示向右偏移,負數表示向左偏移。默認值是 0。

4 Range("A20", Range("A20").Offset(0, -10)).Select

Range(ActiveCell, ActiveCell.Offset(0, -10)).Select

語句說明:執行上述代碼后選擇當前活動單元格向左至第10個單元格。

備注:ColumnOffset 代表 Variant 區域偏移的列數,負數表示向左偏移。

5 Range("a2", Range("a2").Offset(10, 0)).Select

Range(ActiveCell, ActiveCell.Offset(10, 0)).Select

語句說明:執行上述代碼后,選擇當前活動單元格向下至第10個單元格。

備注:RowOffset 代表Variant 區域偏移的行數,正數表示向下偏移,負數表示向上偏移。默認值是 0。

6 Range("A1").End(xlDown).Offset(1, 0).Select

語句說明:執行上述代碼后,選擇該行中第一個空單元格

備注:End(xlDown)是指向下移動

7 Range("A1").End(xltoRight).Offset(0,1).Select

語句說明:執行上述代碼后,選擇該列中第一個空單元格:

備注:End(xltoRight)是向右移動。

8 ActiveCell.Offset(0, -ActiveCell.Column + 1).Select

語句說明:執行上述代碼后,移至當前行的第一個單元格的動作(即你按下“Home”鍵的動作)

ActiveCell.Offset( -ActiveCell.Row + 1,0).Select

語句說明:執行上述代碼后,移至當前列的第一個單元格:

備注:充分利用OFFSET函數,實現單元格的選擇。

看下面的代碼:

運行:

9 ActiveCell.Offset(13, 14).Select

Selection.Offset(-3, -4).Select

語句說明:執行上述代碼后,單元格間移動。

備注:你可以定義一變量,並且用offset來實現,

例如:varFreightRowsCount = Range("A1").CurrentRegion.Rows.Count

ActiveCell.Offset(varFreightRowsCount, 0).Select

今日內容回向:

1 OFFSET函數在VBA和EXCEL中有什么不同?

2 OFFSET函數在VBA中有哪些精彩利用

我從事管理工作多年,這一系列文章是根據多年的經驗編寫的,也是一直在利用的工具,非常方便好用。現在分享出來,希望能對同樣在職場打拼的朋友有些許的幫助。

我的公眾號“NZ_9668”和“VBA學習交流社群”里有更多的內容分享。對數據分析有需要的公司、組織或個人可以直接聯系我,為你提供專業的技術支持。朋友們有問題請隨時提出來,我們一起探討學習。目的是能更好地利用Excel和VBA,提高工作效率,能有更多的時間和精力享受生活。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM