如何零基礎學習VBA—HorizontalPageBreak和HorizontalResizeMode

2023年06月29日21:52:03 科技 1446

HorizontalPageBreak

VBA中用於表示Excel工作表中的水平分頁符。水平分頁符用於在列印時將工作表內容劃分為多個頁面。通過使用HorizontalPageBreak對象,可以對工作表進行動態地分頁設置和管理。

HorizontalPageBreak對象具有以下一些常用的屬性和方法:

  • Location:表示分頁符所在的行號。
  • DragOff(Direction, RegionIndex):將分頁符拖動到其他位置。Direction參數指定向上或向下拖動分頁符,RegionIndex參數指定拖動的範圍索引。
  • Delete:刪除分頁符。

通過使用HorizontalPageBreaks對象,可以訪問和管理工作表中的所有水平分頁符。例如,可以通過以下方式添加一個水平分頁符:

Worksheets("Sheet1").HorizontalPageBreaks.Add Before:=Worksheets("Sheet1").Range("A10")

此代碼將在單元格A10之前添加一個水平分頁符。

1、Location屬性:表示分頁符所在的行號。

Sub GetHorizontalPageBreak()
    Dim ws As Worksheet
    Dim hpb As HorizontalPageBreak
    
    Set ws = Worksheets("Sheet1")
    
    For Each hpb In ws.HPageBreaks
        MsgBox "分頁符位置: " & hpb.Location
    Next hpb
End Sub

這個示例代碼會遍歷名為"Sheet1"的工作表上的所有水平分頁符,並通過消息框顯示每個分頁符的行號。

2、DragOff方法:將分頁符拖動到其他位置。

Sub DragHorizontalPageBreak()
    Dim ws As Worksheet
    Dim hpb As HorizontalPageBreak
    
    Set ws = Worksheets("Sheet1")
    
    '將第一個水平分頁符向下拖動5行
    Set hpb = ws.HPageBreaks(1)
    hpb.DragOff Direction:=xlDown, RegionIndex:=5
End Sub

這個示例代碼將會將名為"Sheet1"的工作表上的第一個水平分頁符向下拖動5行,即將該分頁符從原來的位置移動到當前位置的下方第5行。

3、Delete方法:刪除分頁符。

Sub DeleteHorizontalPageBreak()
    Dim ws As Worksheet
    Dim hpb As HorizontalPageBreak
    
    Set ws = Worksheets("Sheet1")
    
    '刪除第一個水平分頁符
    Set hpb = ws.HPageBreaks(1)
    hpb.Delete
End Sub

這個示例代碼會刪除名為"Sheet1"的工作表上的第一個水平分頁符。

HorizontalResizeMode

是Excel VBA中的一個枚舉類型,用於指定水平調整大小模式。它可以用於調整水平方向上的圖表、形狀和對象的大小。

HorizontalResizeMode枚舉類型具有以下幾個常量:

  • Both:同時調整對象的左邊界和右邊界以進行水平調整大小。
  • Center:僅調整對象的左右邊界的位置,而不改變其大小。
  • Left:僅調整對象的左邊界的位置,而不改變其大小。
  • None:不進行水平調整大小。
  • Right:僅調整對象的右邊界的位置,而不改變其大小。

使用HorizontalResizeMode枚舉類型,可以在對圖表、形狀和對象進行水平調整大小時,根據具體需求選擇合適的模式。例如,可以將Left屬性設置為HorizontalResizeMode.Right來使對象的左邊界保持固定,只調整該對象的右邊界位置。

當需要對圖表、形狀和對象進行水平調整大小時,可以使用HorizontalResizeMode枚舉類型中的常量來指定調整方式。以下是根據前面提到的5個常量進行的代碼示例:

1、調整對象的左邊界和右邊界以進行水平調整大小:

Sub ResizeBoth()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '將Rectangle1替換為實際的形狀或對象名稱
    
    obj.LockAspectRatio = False
    obj.Resize shapeRange.Width * 2, shapeRange.Height '將shapeRange替換為實際的形狀或對象包含的範圍
    
    obj.HorizontalResizeMode = HorizontalResizeMode.Both
End Sub

2、僅調整對象的左右邊界的位置,而不改變其大小:

Sub ResizeCenter()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '將Rectangle1替換為實際的形狀或對象名稱
    
    obj.HorizontalResizeMode = HorizontalResizeMode.Center
End Sub

3、僅調整對象的左邊界的位置,而不改變其大小:

Sub ResizeLeft()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '將Rectangle1替換為實際的形狀或對象名稱
    
    obj.HorizontalResizeMode = HorizontalResizeMode.Left
End Sub

4、不進行水平調整大小:

Sub NoResize()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '將Rectangle1替換為實際的形狀或對象名稱
    
    obj.HorizontalResizeMode = HorizontalResizeMode.None
End Sub

5、僅調整對象的右邊界的位置,而不改變其大小:

Sub ResizeRight()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '將Rectangle1替換為實際的形狀或對象名稱
    
    obj.HorizontalResizeMode = HorizontalResizeMode.Right
End Sub

注意:上述示例中的"Sheet1"和"Rectangle1"分別表示要操作的工作表和形狀或對象的名稱,你需要根據實際情況進行修改。另外,代碼示例中針對形狀和對象的處理方式略有差異,具體取決於你的需求和使用的對象類型。

如何零基礎學習VBA—HorizontalPageBreak和HorizontalResizeMode - 天天要聞

科技分類資訊推薦

五菱星光2025款,10萬級600續航中級轎車的質價比王者 - 天天要聞

五菱星光2025款,10萬級600續航中級轎車的質價比王者

雖然國內車市早已變成買方市場,但是預算10萬想買一台「完美」的純電家轎,難度可不小。這個價位的電車,要麼續航里程不長、要麼車身尺寸不大、要麼舒適化和智能化配置一般,這些對於家庭用戶來說都是不能容忍的短板。
諾基亞「詐屍」了?不僅活得很好,還在「威脅」中國車企 - 天天要聞

諾基亞「詐屍」了?不僅活得很好,還在「威脅」中國車企

在過去的幾年間,人們每每提起燃油車廠商和新能源汽車廠商的對比關係,總是喜歡用諾基亞做例子,將諾基亞在智能手機從巨無霸到迅速垮塌的經歷,形容那些不求進取的燃油車企。顯然,在智能手機領域,現在的諾基亞已經完全「沉底」了,在全球市場都沒有什麼存在感了,以至於很多不太關注科技圈的小夥伴都有一個錯誤的印象,諾...
觀瀾亭|從《哪吒2》到LABUBU,這座城市被看見 - 天天要聞

觀瀾亭|從《哪吒2》到LABUBU,這座城市被看見

若是給今年以來全球最火IP排名的話,潮玩LABUBU和電影《哪吒2》及其手辦,都是毫無爭議的「頂級」。透過二者可見,中國潮玩已然成為全球潮流文化的重要力量,正突破不同的文化背景與地理界限,走向跨文化傳播。
華為Pura 80 Pro/Pro+今日首銷 售價6499元起 - 天天要聞

華為Pura 80 Pro/Pro+今日首銷 售價6499元起

站長之家(ChinaZ.com) 6月14日 消息:今日上午10:08,華為Pura80Pro和Pura80Pro+正式開啟銷售,首批在官網搶購以及線下預定的用戶將陸續拿到新機。這兩款機型在整體外觀與配置上較為相似,不過在屏幕影像規格方面存在細微差別。在屏幕玻璃材質上,Pura80Pro採用的是第二代崑崙玻璃面板,而Pura80Pro+則配備了與Ultra相
物流快遞行業  備戰英吉沙鮮杏銷售 - 天天要聞

物流快遞行業 備戰英吉沙鮮杏銷售

眼下,17.75萬畝英吉沙杏即將迎來豐收。為確保這些美味鮮果能以最佳狀態送達全國各地消費者手中,新疆英吉沙縣物流行業提前謀劃、周密部署,一場全方位的運輸保障工作正在緊鑼密鼓地籌備中。順豐鮮杏包裝盒 (娜扎凱提 攝)「當天採摘,當天轉運,當天運輸……」近日,新疆順豐速運有限公司英吉沙縣分公司內,一場關於英吉...
蘋果Liquid Glass UI影響文字可讀性並提高設計界面難度引發質疑 - 天天要聞

蘋果Liquid Glass UI影響文字可讀性並提高設計界面難度引發質疑

今年晚些時候蘋果設備即將推出的操作系統更新,將帶來該公司十多年來首次重大的用戶界面設計變革,但眼尖的觀察者會發現它與舊版 Windows 有相似之處——微軟也注意到了這一點。不過那些對蘋果即將推出的界面感到擔憂的用戶將可以選擇更改其視覺呈現
馬克龍希望說服台積電/三星在法國建立尖端設施 - 天天要聞

馬克龍希望說服台積電/三星在法國建立尖端設施

繼美國大力推動晶元生產之後,歐洲似乎是下一個,因為法國總統現在渴望將台積電和三星引入該國,以在國內獲取高端節點。隨著全球供應鏈的急劇演變,各國已將重點轉向通過在本地生產來滿足晶元需求。