设置整页的打印区域
Setting print area for a whole page
所以这是我的问题:
我有一个用于粘贴数据的模板 sheet。数据行的数量总是不同的(我不认为它会高于 30,但我将容量编码为 103)
粘贴数据后,sub要相应设置打印区域和边框,但不是最后一行数据,而是包含数据的最后一页。我写了这个丑陋的东西,它似乎有效。我确实想知道是否有一种方法可以在不嵌套 IF 语句的情况下执行此操作(对于更大的数据集,我将不得不重新执行此操作)
parow = wsp.Range("A" & Rows.Count).End(xlUp).row
If parow <= 15 Then
parow = 15
Else:
If parow <= 29 Then
parow = 29
Else
If parow <= 43 Then
parow = 43
Else
If parow <= 58 Then
parow = 58
Else
If parow <= 73 Then
parow = 73
Else
If parow <= 88 Then
parow = 88
Else
If parow <= 103 Then
parow = 103
Else
End If
End If
End If
End If
End If
End If
End If
With wsp.PageSetup
.PrintArea = "$A:$G" & parow
.PrintTitleRows = ":"
.Orientation = xlLandscape
.FitToPagesWide = 1
End With
不要乱七八糟的 ifs,试试这个:
Dim parow As Long
Dim dif As Long
parow = wsp.Range("A" & Rows.Count).End(xlUp).row
dif = 14 - (parow mod 14)
parow = parow + dif + 1
根据你的问题,你似乎想将 parow 舍入到最接近的 14 的倍数,然后打印那么多行 + 1。
考虑到这一点,此代码首先像您最初所做的那样获取 parow,然后计算出需要添加的内容以将其四舍五入为下一个 14 的倍数。最后它将该值 + 1 添加到 parow。对于较短(但可读性较差的选项),只需使用
parow = wsp.Range("A" & Rows.Count).End(xlUp).row
parow = parow + (14 - (parow mod 14)) + 1
所以这是我的问题: 我有一个用于粘贴数据的模板 sheet。数据行的数量总是不同的(我不认为它会高于 30,但我将容量编码为 103) 粘贴数据后,sub要相应设置打印区域和边框,但不是最后一行数据,而是包含数据的最后一页。我写了这个丑陋的东西,它似乎有效。我确实想知道是否有一种方法可以在不嵌套 IF 语句的情况下执行此操作(对于更大的数据集,我将不得不重新执行此操作)
parow = wsp.Range("A" & Rows.Count).End(xlUp).row
If parow <= 15 Then
parow = 15
Else:
If parow <= 29 Then
parow = 29
Else
If parow <= 43 Then
parow = 43
Else
If parow <= 58 Then
parow = 58
Else
If parow <= 73 Then
parow = 73
Else
If parow <= 88 Then
parow = 88
Else
If parow <= 103 Then
parow = 103
Else
End If
End If
End If
End If
End If
End If
End If
With wsp.PageSetup
.PrintArea = "$A:$G" & parow
.PrintTitleRows = ":"
.Orientation = xlLandscape
.FitToPagesWide = 1
End With
不要乱七八糟的 ifs,试试这个:
Dim parow As Long
Dim dif As Long
parow = wsp.Range("A" & Rows.Count).End(xlUp).row
dif = 14 - (parow mod 14)
parow = parow + dif + 1
根据你的问题,你似乎想将 parow 舍入到最接近的 14 的倍数,然后打印那么多行 + 1。
考虑到这一点,此代码首先像您最初所做的那样获取 parow,然后计算出需要添加的内容以将其四舍五入为下一个 14 的倍数。最后它将该值 + 1 添加到 parow。对于较短(但可读性较差的选项),只需使用
parow = wsp.Range("A" & Rows.Count).End(xlUp).row
parow = parow + (14 - (parow mod 14)) + 1