Проблема печати с удаленным содержимым - PullRequest
0 голосов
/ 31 января 2019

Итак, мы создали некоторый код, который позволит пользователю вводить несколько страниц данных, а затем просто нажать кнопку печати, чтобы напечатать количество страниц введенных данных.Однако мы сталкиваемся с проблемой: когда пользователь вводит 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

Sample Picture Представьте вместо 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

1 Ответ

0 голосов
/ 01 февраля 2019

Как и другие говорят, очистка не удаляет записи, но даже если вы удаляете строки, Excell иногда сохраняет область печати в памяти.

Поэтому я бы предложил изменить область печати макросомможно посмотреть на https://docs.microsoft.com/en-us/office/vba/api/excel.pagesetup.printarea

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...