如何零基礎學習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 - 天天要聞

科技分類資訊推薦

小米王化:「傳小米與徠卡終止合作」系謠言 - 天天要聞

小米王化:「傳小米與徠卡終止合作」系謠言

今日有傳聞稱,小米與徠卡的合作關係即將結束。對此,小米公關總經理王化回應稱:「上次是2023年6月1日,番茄發了個微博說小米14就是最後一代了。我轉發了文案搭配的是「這就胡說了」,這次居然進階了,來了個據報道,還有作者……我的回復也需要進階,請大家笑納:這還是胡說。」...
微信重大更新! - 天天要聞

微信重大更新!

7月4日,騰訊宣布微信重大更新——優化聊天記錄備份。據了解,優化後,用戶可以將手機聊天記錄備份至外部存儲設備。聊天記錄還可以選擇「自動備份」。
混動轎車終局首選,「智能電混四驅轎車」領克10 EM-P全球首秀 - 天天要聞

混動轎車終局首選,「智能電混四驅轎車」領克10 EM-P全球首秀

在新能源市場「價格戰」白熱化的當下,領克只卷價值,卷技術,卷產品。在此背景下,領克首款中大型豪華運動轎車——領克10 EM-P迎來首秀亮相。新車定位「智能電混四驅轎車」,標配四驅和激光雷達,首次將高端配置一同下放至20萬級主流汽車市場。這種「頂配變標配」的平權
百年MG加速新能源布局:2年13款新車矩陣,全面ALL IN電動化賽道 - 天天要聞

百年MG加速新能源布局:2年13款新車矩陣,全面ALL IN電動化賽道

6月30日,擁有百年底蘊的MG品牌,正式宣布全面 All in 新能源。背靠上汽集團雄厚的技術實力,規劃未來 2 年推出 13 款全新新能源車型,產品矩陣覆蓋純電、插混、增程三種動力形式,轎車、SUV、跑車、獵裝車四大車身類型,這場轉型不僅是動力革新,更是百年
科技賦能綠色發展 中國為全球探新路 - 天天要聞

科技賦能綠色發展 中國為全球探新路

新華社貴陽7月6日電 題:科技賦能綠色發展 中國為全球探新路 新華社記者周宣妮 「很期待看到中國無人駕駛汽車如何從貴州工廠走向歐洲乃至世界,未來也許像我一樣不會開車的人也能在AI輔助下安全駕駛。」來自塞浦路斯的巴黎政治大學學生費奧多爾·德米特連科在貴州試乘無人駕駛巴士時如此感慨。 2日至7日,在貴州的青山綠水...
小米YU7今日交付,雷軍向首批車主交車,並親手開車門 - 天天要聞

小米YU7今日交付,雷軍向首批車主交車,並親手開車門

7月6日,小米YU7正式開啟全國交付,覆蓋全國58個城市。雷軍發文表示:今天下午,小米YU7正式交付首批車主。希望這台車,陪伴每一個熱愛生活的你和你們,解鎖更多美好體驗。感謝大家的支持與信任!有多位網友發佈視頻和照片,今日雷軍在北京小米科技園親手給首批YU7車主交付新車,並為他們開車門。6月26日19:00,小米首款SU...