Получить значение из ячейки и использовать его в качестве значения MAX для автоинкремента в макросе


0

Ячейка C13 автоматически увеличивается на 1 при печати. Я использую только ячейку C13 для автоматического приращения, но у меня ячейка E13 = имеет связанное значение из Листа 3. Я хотел бы установить значение E13 в качестве МАКС. Приращения для C13 в следующем VBA:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim i As Long
Cancel = True
Application.EnableEvents = False
Application.Dialogs(xlDialogPrinterSetup).Show
With Sheets("Sheet3")
    For i = 1 To .Range("B22").Value
        .Range("C13").Value = .Range("C13").Value + 1
        .PrintOut
    Next i
End With
Application.EnableEvents = True
End Sub

Отредактированный источник и имена ячеек. Проблема в том, что макрос для работы на Sheet3 выдает ошибку отладчика 9.


Вы хотите просто не превышать A15, или в этом случае также отменить печать?
Máté Juhász

@ Máté Juhász Не увеличивайте после A15, отменять не нужно, просто ограничьте приращение
dExIT

это не честно Это другой вопрос, чем ваш первоначальный. Пожалуйста, задайте еще один вопрос, чтобы исправить свой код, а затем вернитесь сюда, когда у вас будет рабочий код, и вы готовы решить исходную проблему.
Матэ Юхас

Ответы:


0

Чтобы предотвратить превышение значения в A15, внесите изменения в дополнение:

.Range("A4").Value = Min(.Range("A4").Value + 1, .Range("A15").Value)

Я проверяю это прямо сейчас
dExIT

Отладчик сказал, что проблема с SUB? line Private Sub Workbook_BeforePrint (Отменить как логическое)
dExIT

Работало ли это до применения моей модификации?
Матэ Юхас

Он работал на моем базовом примере, но на самом деле он теперь возвращает: код отладчика 9: для строки с листами ("Sheet3") я немного запутался ....
dExIT

Я обновил свой вопрос, чтобы отразить код, который я сейчас использую
dExIT
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.