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

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

через макрос реализовано следующее: при нажатии кнопки отправляется на печать страница и в файле на верху число увеличивается на число распечатанных копий (заданных в поле - число 2).
требуется, чтобы снизу число тоже менялось с шагом 1 на число распечатанных копий.
...
Рейтинг: 0 / 0
14.08.2014, 12:04
    #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
14.08.2014, 12:10
    #38720113
jore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
при печати срабатывали оба счетчика
The_Prist,

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

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


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


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


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