返回列表 上一主題 發帖

[發問] 判斷列印範圍

[發問] 判斷列印範圍

Sub ex()

    k = Sheets(2).Cells(9, Columns.Count).End(xlToLeft).Column

    For i = 11 To 96

       Sheets(2).Cells(i - 9, k + 1) = Sheets(1).Cells(i, 3)

    Next

    Sheets(2).Cells(1, k + 1) = Format(Year(Date), "0000") & Format(Month(Date), "00") & Format(Day(Date), "00")

End Sub
請問可不可以在以上指令入面加自動列印,按複製讀取的內容做範圍.
淮大提供
  1. Sub TEST()
  2. ActiveSheet.ResetAllPageBreaks
  3. For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row - 1
  4.   If Right(Cells(i, 1), 2) = "合計" Then
  5.     ActiveSheet.HPageBreaks.Add Before:=Cells(i + 1, 1)
  6.   End If
  7. Next i
  8. End Sub

  9. 加入〔分頁〕線,再手動列印(可手動指定列印頁次)
複製代碼

123.zip (13.2 KB)

回復 4# 准提部林

謝謝准大。現在明白更多了。

TOP

回復 3# coke373


Set xL = Sheets(2).Cells(1, Columns.Count).End(xlToLeft)(1, 2)  
__第一列最右非空格的右一空白格

xL(2, 1).Resize(86)
Sheet1 複製範圍共86格

TOP

回復 2# 准提部林

謝謝 准大幫忙
我就是想要你的方式,作最後檢查列印範圍。可以跟著複製讀取的範圍。
指令我要慢慢研究。
Set xL = Sheets(2).Cells(1, Columns.Count).End(xlToLeft)(1, 2)
xL(2, 1).Resize(86)
請問下這兩句是什麼意思。

TOP

Sub ex()
Dim xL As Range
Set xL = Sheets(2).Cells(1, Columns.Count).End(xlToLeft)(1, 2)
xL = Format(Date, "yyyymmdd")
xL(2, 1).Resize(86) = Sheets(1).[C11].Resize(86).Value
Range(xL, xL(Rows.Count, 1).End(xlUp)).Name = "'" & Sheets(2).Name & "'!Print_Area"
End Sub

TOP

        靜思自在 : 道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表 上一主題