Получить значение из ячейки и использовать его в качестве значения 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.

dExIT
источник
Вы хотите просто не превышать 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