如何操作MS Excel的页面从MS Access减免2003 VBA
问题描述:
我有一个生成如下图所示的Excel电子表格一个MS Access VBA代码,我需要让我的分页符输出这样的: 如何操作MS Excel的页面从MS Access减免2003 VBA
这个:
编程在MS Access VBA。
我已经尝试了一堆代码(请参阅下面的代码片段),但不知何故,他们中的任何一个都没有做到这一点,甚至没有丝毫改变。
代码段#1)
ActiveWindow.View = xlPageBreakPreview
ActiveSheet.ResetAllPageBreaks
i = 1
If ActiveSheet.HPageBreaks.Count > 0 Then
Do
Set ActiveSheet.HPageBreaks(i).Location = Range("A" & (i * 70) + 1)
If i = ActiveSheet.HPageBreaks.Count Then Exit Do
i = i + 1
Loop
End If
Do Until Cells((i * 70) + 3, 1).Value = ""
ActiveSheet.HPageBreaks.Add Before:=Range("a" & (i * 73) + 1)
i = i + 1
Loop
ActiveWindow.View = xlNormalView
代码片段#2)
Dim Rng As Excel.Range
Set Rng = xls.Rows("1:75")
Rng(75).PageBreak = -4135
代码片段#3)
xls.HPageBreaks.Add Before:=xls.Cells(73, 1)
在此的任何援助高度赞赏。谢谢一堆! :)
答
我不能很好地理解你的片段,但基于截图,你想打印在一个页面上包含一切。像这样设置打印区域1 x页第1页Excel中 -
Sub breaks()
Dim rLastCol As Long
Dim rLastRow As Long
With ActiveSheet
rLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
rLastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
With .PageSetup
.PrintArea = Range("A1", Cells(rLastRow, rLastCol)).Address
.FitToPagesWide = 1
.FitToPagesTall = False
End With
End With
End Sub
当然,这里采用在A列和第1行中最后使用的电池,所以最右下角非空白。
我最初需要此代码在MS Access中运行,但从长远来看,我认为最好是在MS Excel文件本身中运行。因此,通过在代码中进行一些调整(在.PageSetup下,我添加了.Zoom = False,并且更改了.FitToPagesTall = 1),我设法让它工作。非常感谢你的帮助。 :) – iceheaven31 2014-09-30 10:42:33