我有一個簡單的腳本將所有輸入行列印到格式化輸出中。我想跳過 A 列為空的任何行,但如果有資料仍然列印,因此基于 A 列跳過第 1 行、列印第 2 行、列印第 3 行、跳過第 4 行等。我該怎么做? 我嘗試了很多代碼都沒有結果。這是我當前的作業代碼,它列印了所有內容。
Sub PrintAllRecords()
RowCount = Worksheets("Input").Cells(Rows.Count, 1).End(xlUp).Row - 1
Worksheets("Print-Auto (2)").Select
For i = 1 To RowCount
Range("B1").Value = i
ActiveSheet.PrintOut Copies:=1
Next i
End Sub
uj5u.com熱心網友回復:
這應該有效:
Sub PrintAllRecords()
Dim inputSheet As Worksheet: Set inputSheet = ThisWorkbook.Worksheets("input")
RowCount = inputSheet.Cells(Rows.Count, 1).End(xlUp).Row - 1
Worksheets("Print-Auto (2)").Select
For i = 1 To RowCount
If Not IsEmpty(inputSheet.Cells(i, 1)) Then
Range("B1").Value = i
ActiveSheet.PrintOut Copies:=1
End If
Next i
End Sub
uj5u.com熱心網友回復:
列印非空白使用 AutoFilter
- 這將列印第一列不為空的使用范圍的行。
- 調整常量部分中的值。
Option Explicit
Sub PrintNonBlanks()
Const dFolderPath As String = "C:\Test\"
Const dFileName As String = "Test.pdf"
Const wsName As String = "Sheet1"
Const CriteriaColumnNumber As Long = 1
Const CriteriaString As String = "<>" ' non-blanks
Dim wb As Workbook: Set wb = ThisWorkbook ' workbook containinig this code
' Create a reference to the worksheet.
Dim ws As Worksheet: Set ws = wb.Worksheets(wsName)
' Remove any previous filter.
If ws.AutoFilterMode Then ws.AutoFilterMode = False
' Create a reference to the worksheets used range.
Dim urg As Range: Set urg = ws.UsedRange
' Filter first column by non-blanks.
urg.AutoFilter CriteriaColumnNumber, CriteriaString
' Test with either...
urg.ExportAsFixedFormat xlTypePDF, dFolderPath & dFileName
' ... or...
'ws.ExportAsFixedFormat xlTypePDF, dFolderPath & dFileName
' ... before printing...
'urg.PrintOut
' or...
'ws.PrintOut
' Remove the filter.
ws.AutoFilterMode = False
' Locate the file (folder) in Windows File Explorer.
'wb.FollowHyperlink dFolderPath
End Sub
uj5u.com熱心網友回復:
試試這個
Sub PrintAllRecords()
RowCount = Worksheets("Input").Cells(Rows.Count, 1).End(xlUp).Row - 1
Worksheets("Print-Auto (2)").Select
For i = 1 To RowCount
If Not IsEmpty(Worksheets("Input").Range("A" & i 1)) Then
msgbox i
Range("B1").Value = i
ActiveSheet.PrintOut Copies:=1
End If
Next i
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/329459.html
