![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
![]()
Добрый день, господа!!! (В Нижнем Новгороде сейчас день)
![]() Не затруднит ли Вас помочь мне в одном маленьком но очень интересном (покрайне мере для меня) деле? А суть дела такова, есть мною написанный макрос (замечания по его написанию так же приветствуются): Sub Печать() Dim Data() As String ReDim Data(300) Dim x As Object Dim i, j, z As Integer On Error Resume Next Set x = ActiveWorkbook.Sheets("Список") Set x = Worksheets("Список") x.Activate z = 1 For i = 2 To 100 For j = 1 To 3 Data(z) = Cells(i, j).Value z = z + 1 Next Next Set x = Worksheets("На средний конверт") x.Activate z = 1 For z = 1 To 9 Cells(18, 7).Value = Data(z) z = z + 1 Cells(20, 7).Value = Data(z) z = z + 1 Cells(24, 6).Value = Data(z) ActiveWindow.SelectedSheets.PrintOu t Copies:=1, Collate:=True Next End Sub Надеюсь не нужно описывать то что этот макрос выполняет ![]() Подскажите пожалуста, как сделать форму чтобы в ней можно было задать кол-во печатей (как я для себя это понял, чтобы можно было вместо красной девятки указать любую другую цифру) Зарание огромное Вам спасибо!!! |
![]() |
![]() |
#2 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
1) Зачем Вы объявляете динамический массив? Можно сразу: Dim Data(300).
2) Объявление вида Dim i, j, z As Integer даст только z As Integer, все остальные переменные будут Variant. Нужно объявлять каждую. 3) Лучше не использовать лишние объекты и метод Activate. 4) Вместо строки For z = 1 To 9 можно вставить For i = 1 To InputBox("Введите количество", "Ввод"). 5) Ну,и чуть оптимизировать метод PrintOut. Получим, что-то вроде: Код:
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 21.04.2008 в 14:53. |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
![]()
Огромное спасибо!!! Обязательно поправлю
![]() А можно сделать возможность выбора "На средний конверт", "На большой конверт", "На маленький конверт"??? ![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 10.11.2007
Сообщений: 38
|
![]()
Flangini, Вам нужна именно форма или любое текстовое поле, куда можно вводить значение? Чтобы вставить форму:
1) Вызовите редактор VBA (Alt+F11) 2) Insert > UserForm (Вставить > Пользовательская форма) 3) В появившейся панели инструментов (Toolbox) выберите TextBox (Поле ввода - третья слева иконка, в виде букв ab и курсора). 4) Щелкните мышкой в любом месте свежесозданной формы 5) В скрипт пишем: Код:
По поводу выбора размера конверта: Вставляем UserForm, туда добавляем 3 OptionButton'а и одну CommandButton - три переключателя и одну кнопочку. У каждого переглючателя свойство Name присваиваем соответственно bigenv, medenv и smallenv. У кнопки это же свойство ставим prinnt Пишем скрипт: Код:
Последний раз редактировалось yourself; 21.04.2008 в 15:59. Причина: Дополнение |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
![]()
С открытием в своей жизни вот этой строчки ''For i = 1 To InputBox("Введите количество", "Ввод")'' надобность в форме отпала
![]() А можно ли при помощи оператора CASE сделать возможность выбора с какова листа печатать какую форму, что-то вроде такого InputBox("Введите с какого листа печатать", "Выбор")'' CASE: 1: "На маленький конверт" 2: "На средний конверт" 3: "На большой конверт" Поможите с синтаксисос? |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 10.11.2007
Сообщений: 38
|
![]()
Синтаксис такой:
Код:
|
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
![]()
Большое спасибо!!!
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
форма | blackstersl | Мультимедиа в Delphi | 1 | 23.08.2008 19:03 |
Форма | Killbrum | Помощь студентам | 8 | 21.08.2008 18:48 |
Форма | subsonic | Общие вопросы Delphi | 5 | 10.01.2008 11:18 |
форма... | Briz | Общие вопросы Delphi | 8 | 22.10.2007 17:26 |
Форма | MAcK | Общие вопросы Delphi | 4 | 07.02.2007 01:43 |