powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / при печати срабатывали оба счетчика
8 сообщений из 8, страница 1 из 1
при печати срабатывали оба счетчика
    #38720089
jore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Подскажите, пожалуйста, как сделать чтобы срабатывали оба счетчика одновременно. При нажатии на кнопку.
Один работает, а другой как сделать, чтобы сработал?
Файл во вложении
...
Рейтинг: 0 / 0
при печати срабатывали оба счетчика
    #38720097
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что такое "счетчик"?
Что такое "счетчик сработал"?
Что такое "другой счетчик"?

Открыв файл я не нашел ответов на эти вопросы.
Если хотите, чтобы вам помогли, максимально подробно излагайте проблему.
...
Рейтинг: 0 / 0
при печати срабатывали оба счетчика
    #38720106
jore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

через макрос реализовано следующее: при нажатии кнопки отправляется на печать страница и в файле на верху число увеличивается на число распечатанных копий (заданных в поле - число 2).
требуется, чтобы снизу число тоже менялось с шагом 1 на число распечатанных копий.
...
Рейтинг: 0 / 0
при печати срабатывали оба счетчика
    #38720110
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jore,

Наверное, как-то так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Private Sub CommandButton1_Click()
    ListNumCell = "BG3"
    ListNumCell2 = "AX32"
    k = TextBox1.Value

    Set cSh = ActiveSheet
    lastrow = cSh.Cells.SpecialCells(xlLastCell).Row

    ' Считываем текущий номер
    MaxNum = cSh.Range(ListNumCell).Value + 1    ' +1 выводим на печать начиная со следующего
    MaxNum2 = cSh.Range(ListNumCell).Value + 1
    ' Устанавливаем первый печатаемый номер
    cSh.Range(ListNumCell).Value = MaxNum
    cSh.Range(ListNumCell2).Value = MaxNum2
    cSh.Copy before:=cSh
    Set nSh = Sheets(cSh.Index - 1)
    ' один номер уже скопирован осталось k-1
    For i = 1 To k - 1
        ' увеличиваем номер до печати
        cSh.Range(ListNumCell).Value = MaxNum + i
        cSh.Range(ListNumCell2).Value = MaxNum + i
        cSh.Rows("1:" & lastrow).Copy
        nSh.Rows(1).Insert Shift:=xlDown
        nSh.HPageBreaks.Add before:=nSh.Rows(lastrow + 1)
    Next i
    Application.CutCopyMode = False
    ' печать листа без диалога печати
    nSh.PrintOut
    ' удаляем временный лист без подтверждения
    Application.DisplayAlerts = False
    nSh.Delete
    Application.DisplayAlerts = True
End Sub



Хотя соглашусь с Shocker.Pro - задача не очень ясна, т.к. что есть второй счетчик не совсем ясно. Чисто логически код строил.
...
Рейтинг: 0 / 0
при печати срабатывали оба счетчика
    #38720113
jore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,

Спасибо за ответ, но в предложенном варианте (мною тоже проделанном ранее) числа и сверху и снизу дублируются, а требуется чтобы числа сверху страницы вели отсчет с 274 (например), а снизу с 4(например). т.е. при изменении начального значения 274 на 542 и отправке на печать числа внизу продолжали увеличение с того значения на котором остановились
...
Рейтинг: 0 / 0
при печати срабатывали оба счетчика
    #38720129
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jore,

Я там в одном месте не поменял:
Код: vbnet
1.
cSh.Range(ListNumCell2).Value = MaxNum + i


надо
Код: vbnet
1.
cSh.Range(ListNumCell2).Value = MaxNum2 + i


о чем могли бы и сами догадаться - основной код я накидал.
...
Рейтинг: 0 / 0
при печати срабатывали оба счетчика
    #38720142
jore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,

СПАСИБО ОГРОМНОЕ! там еще в одном месте подправить надо! вот так получилось:
Private Sub CommandButton1_Click()
ListNumCell = "BG3"
ListNumCell2 = "AX32"
k = TextBox1.Value

Set cSh = ActiveSheet
lastrow = cSh.Cells.SpecialCells(xlLastCell).Row

' Считываем текущий номер
MaxNum = cSh.Range(ListNumCell).Value + 1 ' +1 выводим на печать начиная со следующего
MaxNum2 = cSh.Range(ListNumCell2).Value + 1
' Устанавливаем первый печатаемый номер
cSh.Range(ListNumCell).Value = MaxNum
cSh.Range(ListNumCell2).Value = MaxNum2
cSh.Copy before:=cSh
Set nSh = Sheets(cSh.Index - 1)
' один номер уже скопирован осталось k-1
For i = 1 To k - 1
' увеличиваем номер до печати
cSh.Range(ListNumCell).Value = MaxNum + i
cSh.Range(ListNumCell2).Value = MaxNum2 + i
cSh.Rows("1:" & lastrow).Copy
nSh.Rows(1).Insert Shift:=xlDown
nSh.HPageBreaks.Add before:=nSh.Rows(lastrow + 1)
Next i
Application.CutCopyMode = False
' печать листа без диалога печати
nSh.PrintOut
' удаляем временный лист без подтверждения
Application.DisplayAlerts = False
nSh.Delete
Application.DisplayAlerts = True
End Sub


работает!!!

Всем Спасибо!!
...
Рейтинг: 0 / 0
при печати срабатывали оба счетчика
    #38720147
jore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще маленький вопрос!
как сделать, чтобы на печать отправлялось и листы шли по порядку, в моем случае идут начиная с конца, приходится сортировать, а есть их около 1000 шт за раз....то проблема!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / при печати срабатывали оба счетчика
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]