VBA打印在4行的组

我有一个非常具体的电子表格,其中包含所有员工的工资/奖金。 每个员工自己有4行(薪金/奖金/薪金%增值/奖金占工资的百分比)。 我遇到的问题是,一些pipe理人员将其员工中断,如果它去多个页面,所以我把它切换到适合1×1,但现在显然它是太浓缩了。 有没有办法让macros组打印4行? 或者可以这样做,它为同一页上的每个员工打印4行(薪水/奖金/工资%增值/奖金为工资的百分比)提前谢谢!

Private Sub CommandButton1_Click() Dim Sel_Manager As String 'Specify headers to be repeated at the top With ActiveSheet.PageSetup .PrintTitleRows = "$5:$10" .PrintTitleColumns = "$B:$M" .Orientation = xlLandscape .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 End With 'Manager selection through simple Inputbox Sel_Manager = ComboBox1 'Insert autofilter for worksheet Cells.Select Selection.AutoFilter 'Select manager defined in inputbox ActiveSheet.Range("B10", Range("M10").End(xlDown)).AutoFilter Field:=1, Criteria1:=Sel_Manager 'Select range to be printed and specify manager in filename ActiveSheet.Range("B10", Range("M10").End(xlDown)).Select Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ Sel_Manager + ".pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True ActiveSheet.ShowAllData End Sub 

我想我有更好的解决scheme给你。 您可以将每个x行的页面上的打印区域分开。 看看这个例子,每个页面有100行:

 LastRow = Sheets("Raport").Range("B" & Rows.Count).End(xlUp).Row Sheets("Raport").PageSetup.PrintArea = "$A$1:$G$" & LastRow t = 4 ' number of title rows r = 96 ' number of rows on one page (without title rows) nPages = Application.RoundUp((LastRow - 4) / 96, 0) 'nPages gives you number of pages. Sheets("Raport").ResetAllPageBreaks Sheets("Raport").VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1 ' this may not be necessary for your data On Error Resume Next If nPages > 1 Then For i = 1 To nPages - 1 ActiveSheet.HPageBreaks.Add Before:=ActiveSheet.Range("A" & 5 + i * 96) Set ActiveSheet.HPageBreaks(i).Location = Range("A" & 5 + i * 96) Next i Else ActiveSheet.HPageBreaks(1).DragOff Direction:=xlDown, RegionIndex:=1 End If On Error GoTo 0