返回列表 上一主題 發帖

[分享] 善用錄製巨集可以找到很多問題的答案,以自動分頁為例.

[分享] 善用錄製巨集可以找到很多問題的答案,以自動分頁為例.

如果我的檔案有1100個列,我要每50個列分一個頁.
原本設定每列的高度為18.75
Excel自動分頁以後會每51列自動分頁,那麼變成會在(51,102,153.......)處自動分頁,如果我想在(50,100,150,....)處自動分頁,那麼就要寫一個巨集來處理,於是利用錄製巨集方式再修改一下就可以了.
1)將遊標移至分頁線,(第51列)
2)選取功能區索引標籤的開發人員
3)選取巨集錄製功能
4)選取功能區索引標籤的版面配製
5)將遊標移至第50列
6)選取功能區索引標籤的分頁符號再選取插入分頁
7)選取功能區索引標籤的開發人員,再選停止錄製

如此我們就可以得到如下的VBA巨集
Sub 巨集1()
    Rows("51:51").Select                                                                            '選取第51列
    Application.CutCopyMode = False                                                         '取消 [剪下] 或 [複製] 模式並移除移動框線。
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell   '在第51列的上方(第50列)加入新的分頁符號。
End Sub

可以在如上的巨集再修改一下就可以成為通用的巨集,可以用 Do Loop 指令來修正分頁線,那麼就可以做到依我們的意思來作分頁的動作.
可是在此之前對於:
pplication.CutCopyMode = False                                                        
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
這兩行VBA指令一點都不懂,經過錄製巨集再用心一下我們就可以知道我們要的動作如何成為VBA巨集.
要學習VBA巨集的板友們可以大膽的試一試.
V98

本帖最後由 Hsieh 於 2010-12-26 20:43 編輯

很好,您能把握到錄製巨集的技巧

可嘗試看看,在分頁預覽模式下
將第一條分頁線拖移至A50
看看所有分頁線是否都在50的倍數列上
學海無涯_不恥下問

TOP

版主大大好像不行,還是要使用VBA
V98

TOP

回復 3# linshin1999


    在分頁預覽模式下拖動分頁線,只要拖動第一條,其他會跟著變動的。 A.gif

TOP

難道這是版本的問題嗎?
我的版本無法這樣做,只會平行移動,不會做固定切割.
凸槌前輩,我的版本真的無法做到,還是方法有誤.(我有拖動第一條線),得到的結果如上述.
V98

TOP

回復 5# linshin1999

我作業系統也是WIN7
OFFICE也是2010
假如你已經有預覽過,系統自動產生分頁線後
你用VBA再50的倍數列加入分頁線那麼會多出許多分頁才對
以下是錄製出來的巨集
你執行看看是甚麼情形
  1. Sub 巨集1()
  2. '
  3. ' 巨集1 巨集
  4. '

  5. '
  6. ActiveWindow.View = xlPageBreakPreview
  7.     Set ActiveSheet.HPageBreaks(1).Location = Range("A51")

  8. End Sub
複製代碼
學海無涯_不恥下問

TOP

Hsieh版主大大,不知道是否是我的設定有問題,分頁線仍是(50,101,152,203....),不會更動呢!
V98

TOP

Hsieh版主大大,如果是設定的問可否教我,在我的工作中自動分頁很重要,不然我就要寫一個自動分頁的函數了,謝謝!!
V98

TOP

回復 8# linshin1999
請你把你的檔案上傳
才知道到你的設定為何?
我在猜是否是標題列問題
學海無涯_不恥下問

TOP

傷腦筋到現在還不會上傳資料.(我會就近請教人,我以前都是用Dos),不過我没設定標題列.
V98

TOP

        靜思自在 : 自己害自己,莫過於亂發脾氣。
返回列表 上一主題