Итак, мы создали некоторый код, который позволит пользователю вводить несколько страниц данных, а затем просто нажать кнопку печати, чтобы напечатать количество страниц введенных данных.Однако мы сталкиваемся с проблемой: когда пользователь вводит 300 строк данных, а затем удаляет последние 100 строк, он по-прежнему печатает 300 строк данных, а не 200.
Есть предложения?
Код:
Sub LastRowInOneColumn()
If Range("C19") = "Enter any special posting instruction here." Then
Range("C19:I26").ClearContents
End If
Dim MySheet As Worksheet
Set MySheet = Worksheets("SIF Sheet")
With MySheet
Dim xFirstEmptyRow As Long
xFirstEmptyRow = .Cells(30, 1).End(xlDown).Row
'Application.Dialogs(xlDialogPrinterSetup).Show
Worksheets("SIF Sheet").PrintOut
End With
End Sub
Представьте вместо 30-32 строки по 30-300, заполненные данными выборки.Затем строки 300 обратно к 200 удаляются специально (скажем, это не нужно).Он по-прежнему печатает до строки 300, а не до строки 200.
Обновление
Я попытался поиграть с некоторыми другими вариантами и придумал это, но выдает ошибку, говорящую, что не можетиспользуйте эту команду на перекрывающихся выборках:
Sub LastRowInOneColumn()
If Range("C19") = "Enter any special posting instruction here." Then
Range("C19:I26").ClearContents
End If
Dim MySheet As Worksheet
Set MySheet = Worksheets("SIF Sheet")
Rows("30:1058").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete
With MySheet
Dim xFirstEmptyRow As Long
xFirstEmptyRow = .Cells(30, 1).End(xlDown).Row
'Application.Dialogs(xlDialogPrinterSetup).Show
Worksheets("SIF Sheet").PrintOut
End With
End Sub