Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Заполнение форм на других листах из выделенной строки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Заполнение форм на других листах из выделенной строки
Losdigo Дата: Среда, 15.12.2010, 21:31 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Помогите пожалуйста решить данную задачу.
Как это примерно выглядит в прикрепленных картинках.
Лист 1. Звездочки - это текст, или параметр, но он не вносится в форму,
Лист 2-3. Звездочки - это текст формы который не меняется.
Цифры это примерная позиция
Желательно чтобы формировались сразу 2 формы: на листе 2 и 3. Можно и двумя кнопками, но это менее удобно.
Хотелось бы ещё добавить сохранение каждой формы в отдельный *.XLS файл, но это только был бы приятный плюс smile

Будет более 6000 строк, ставить ссылки к каждой ячейке не тяжеловато ли будет для компьютера?
Для этого нужен макрос или VBA на кнопку, у которой будет функция раскидывания выделенного по пунктам в формах.
То есть "макрос" (наверно он) не знает числовой координаты (?A, ?B, ?C, ?D...) до тех пор пока не будет выделена строка или область строки. Далее при известной координате макрос копирует данные в определенные ячейки форм.

Везде будут разные данные, цифрами указал примерные места

Мне хотябы кусочек макроса или VBA который будет перемещать выделенные ячейки в строке в определенные места.

Если сложность высока, готов материально отблагодарить.

Может есть более простое решение данной задачи?)

К сообщению приложен файл: 33.zip (35.9 Kb) · 3699555.jpg (37.2 Kb)


Сообщение отредактировал Losdigo - Среда, 15.12.2010, 23:01
 
Ответить
СообщениеПомогите пожалуйста решить данную задачу.
Как это примерно выглядит в прикрепленных картинках.
Лист 1. Звездочки - это текст, или параметр, но он не вносится в форму,
Лист 2-3. Звездочки - это текст формы который не меняется.
Цифры это примерная позиция
Желательно чтобы формировались сразу 2 формы: на листе 2 и 3. Можно и двумя кнопками, но это менее удобно.
Хотелось бы ещё добавить сохранение каждой формы в отдельный *.XLS файл, но это только был бы приятный плюс smile

Будет более 6000 строк, ставить ссылки к каждой ячейке не тяжеловато ли будет для компьютера?
Для этого нужен макрос или VBA на кнопку, у которой будет функция раскидывания выделенного по пунктам в формах.
То есть "макрос" (наверно он) не знает числовой координаты (?A, ?B, ?C, ?D...) до тех пор пока не будет выделена строка или область строки. Далее при известной координате макрос копирует данные в определенные ячейки форм.

Везде будут разные данные, цифрами указал примерные места

Мне хотябы кусочек макроса или VBA который будет перемещать выделенные ячейки в строке в определенные места.

Если сложность высока, готов материально отблагодарить.

Может есть более простое решение данной задачи?)


Автор - Losdigo
Дата добавления - 15.12.2010 в 21:31
Losdigo Дата: Среда, 15.12.2010, 21:32 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

итого...
К сообщению приложен файл: 9094076.jpg (53.1 Kb)
 
Ответить
Сообщениеитого...

Автор - Losdigo
Дата добавления - 15.12.2010 в 21:32
Hugo Дата: Среда, 15.12.2010, 22:00 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3691
Репутация: 790 ±
Замечаний: 0% ±

365
Это можно сделать формулами, например используя ВПР().
Ведь у Вас есть порядковые номера - можно любой из них занести (набрать вручную или скопировать) в какую-нибудь ячейку, которую взять как критерий отбора.
Она может быть где угодно, может быть набрана цветом фона, или вне области печати - чтоб не видно на распечатке, если это не нужно.
Недавно похожее делал, но пример найти трудно...
Знаете ВПР()?

Вот выделенное жёлтым фоном появляется автоматически при изменении цифры в А1 первого листа.

К сообщению приложен файл: 4882659.zip (35.4 Kb)


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЭто можно сделать формулами, например используя ВПР().
Ведь у Вас есть порядковые номера - можно любой из них занести (набрать вручную или скопировать) в какую-нибудь ячейку, которую взять как критерий отбора.
Она может быть где угодно, может быть набрана цветом фона, или вне области печати - чтоб не видно на распечатке, если это не нужно.
Недавно похожее делал, но пример найти трудно...
Знаете ВПР()?

Вот выделенное жёлтым фоном появляется автоматически при изменении цифры в А1 первого листа.


Автор - Hugo
Дата добавления - 15.12.2010 в 22:00
Losdigo Дата: Среда, 15.12.2010, 22:05 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Очень плохо знаю сам Excel smile
Туго понимаю ваш вариант), нам нужна скорость заполнения форм в которых более 10-25 пунктов и после выводить эти 2 формы на печать + хотелось бы сохранять сами формы, можно написать скрипт на AutoIt, но тогда надо будет все вымерять по пикселям и при выскакивании какого либо окна скрипт запнется.


Сообщение отредактировал Losdigo - Среда, 15.12.2010, 22:15
 
Ответить
СообщениеОчень плохо знаю сам Excel smile
Туго понимаю ваш вариант), нам нужна скорость заполнения форм в которых более 10-25 пунктов и после выводить эти 2 формы на печать + хотелось бы сохранять сами формы, можно написать скрипт на AutoIt, но тогда надо будет все вымерять по пикселям и при выскакивании какого либо окна скрипт запнется.

Автор - Losdigo
Дата добавления - 15.12.2010 в 22:05
Hugo Дата: Среда, 15.12.2010, 22:09 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3691
Репутация: 790 ±
Замечаний: 0% ±

365
Я там выше пример добавил.
Если плохо знаете - пора осваивать smile
Ваш пример не совсем удачен - по логике, там разные данные должны быть в строках, а сейчас одинаковые вытягиваются.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЯ там выше пример добавил.
Если плохо знаете - пора осваивать smile
Ваш пример не совсем удачен - по логике, там разные данные должны быть в строках, а сейчас одинаковые вытягиваются.

Автор - Hugo
Дата добавления - 15.12.2010 в 22:09
Losdigo Дата: Среда, 15.12.2010, 22:21 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Выше добавил мысль, сижу разбераюсь с вашим примером
 
Ответить
СообщениеВыше добавил мысль, сижу разбераюсь с вашим примером

Автор - Losdigo
Дата добавления - 15.12.2010 в 22:21
Losdigo Дата: Среда, 15.12.2010, 22:37 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Поменял шаблон на более понятный
 
Ответить
СообщениеПоменял шаблон на более понятный

Автор - Losdigo
Дата добавления - 15.12.2010 в 22:37
Hugo Дата: Среда, 15.12.2010, 22:45 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3691
Репутация: 790 ±
Замечаний: 0% ±

365
Можно конечно макросом сделать, раз уж нужно сохранять - например ставите курсор в строку, которую нужно обработать, жмёте кнопку - заполняются формы, создаётся новый файл с этими двумя листами.
Могу попозже сделать.
Где более понятный шаблон? - понял, тот самый архив изменён, смотрю...


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеМожно конечно макросом сделать, раз уж нужно сохранять - например ставите курсор в строку, которую нужно обработать, жмёте кнопку - заполняются формы, создаётся новый файл с этими двумя листами.
Могу попозже сделать.
Где более понятный шаблон? - понял, тот самый архив изменён, смотрю...

Автор - Hugo
Дата добавления - 15.12.2010 в 22:45
Losdigo Дата: Среда, 15.12.2010, 22:50 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Если шаблон ещё сложен для переваривания скажите)
Точнее это не шаблон, а визуальный рисунок идеи с возможностью реализации самой идеи, но ни как не самой задачи angel


Сообщение отредактировал Losdigo - Среда, 15.12.2010, 22:56
 
Ответить
СообщениеЕсли шаблон ещё сложен для переваривания скажите)
Точнее это не шаблон, а визуальный рисунок идеи с возможностью реализации самой идеи, но ни как не самой задачи angel

Автор - Losdigo
Дата добавления - 15.12.2010 в 22:50
Hugo Дата: Среда, 15.12.2010, 22:55 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3691
Репутация: 790 ±
Замечаний: 0% ±

365
Я так понимаю, что то, что звёздочки - это постоянный текст, а цифры берутся из таблицы?
Тогда звёздочки на текст Вам самим придётся в коде менять - там, где данные и звёздочки нужно объединять. smile


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЯ так понимаю, что то, что звёздочки - это постоянный текст, а цифры берутся из таблицы?
Тогда звёздочки на текст Вам самим придётся в коде менять - там, где данные и звёздочки нужно объединять. smile

Автор - Hugo
Дата добавления - 15.12.2010 в 22:55
Losdigo Дата: Среда, 15.12.2010, 22:59 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Лист 1. Звездочки - это текст, или параметр, но он не вносится в форму,
Лист 2-3. Звездочки - это текст формы который не меняется.
Цифры это примерная позиция
Текст будет в отдельных ячейках


Сообщение отредактировал Losdigo - Среда, 15.12.2010, 23:03
 
Ответить
СообщениеЛист 1. Звездочки - это текст, или параметр, но он не вносится в форму,
Лист 2-3. Звездочки - это текст формы который не меняется.
Цифры это примерная позиция
Текст будет в отдельных ячейках

Автор - Losdigo
Дата добавления - 15.12.2010 в 22:59
Hugo Дата: Четверг, 16.12.2010, 00:34 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3691
Репутация: 790 ±
Замечаний: 0% ±

365
Попробуйте. Возможно, нужно поменять параметры сохранения, например на FileFormat:=xlNormal
Файл с шаблонами сохраняется в папку с исходным файлом.
К сообщению приложен файл: 3H.zip (46.9 Kb)


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеПопробуйте. Возможно, нужно поменять параметры сохранения, например на FileFormat:=xlNormal
Файл с шаблонами сохраняется в папку с исходным файлом.

Автор - Hugo
Дата добавления - 16.12.2010 в 00:34
Losdigo Дата: Четверг, 16.12.2010, 01:45 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Hugo, Работает прекрасно! happy Завтра попробую собрать. Если получится, отблагодарю rolleyes
Заранее Спасибо! smile


Сообщение отредактировал Losdigo - Четверг, 16.12.2010, 01:45
 
Ответить
СообщениеHugo, Работает прекрасно! happy Завтра попробую собрать. Если получится, отблагодарю rolleyes
Заранее Спасибо! smile

Автор - Losdigo
Дата добавления - 16.12.2010 в 01:45
Hugo Дата: Четверг, 16.12.2010, 13:46 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3691
Репутация: 790 ±
Замечаний: 0% ±

365
Вот немного изменённый вариант сохранения листов - так сохраняет каждый лист в свой файл.
Замените кусок кода после печати (ну или вместе с печатью
[vba]
Код
    sh2.PrintOut Copies:=1    ' печатаем
        sh3.PrintOut Copies:=1    ' печатаем

        strDate = Format(Now, "yyyy/mm/dd_hh-mm-ss")
        SaveAsName = ThisWorkbook.Path & "\" & strDate

            sh2.Copy
                ActiveWorkbook.SaveAs SaveAsName & "sh2" & ".xls" ', FileFormat:=xlExcel8
                ActiveWorkbook.Close

            sh3.Copy
                ActiveWorkbook.SaveAs SaveAsName & "sh3" & ".xls" ', FileFormat:=xlExcel8
                ActiveWorkbook.Close

        Application.ScreenUpdating = True

End Sub
[/vba]

Вместо "sh2" в именах сохраняемых файлов можно написать что-нибудь осмысленное


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеВот немного изменённый вариант сохранения листов - так сохраняет каждый лист в свой файл.
Замените кусок кода после печати (ну или вместе с печатью
[vba]
Код
    sh2.PrintOut Copies:=1    ' печатаем
        sh3.PrintOut Copies:=1    ' печатаем

        strDate = Format(Now, "yyyy/mm/dd_hh-mm-ss")
        SaveAsName = ThisWorkbook.Path & "\" & strDate

            sh2.Copy
                ActiveWorkbook.SaveAs SaveAsName & "sh2" & ".xls" ', FileFormat:=xlExcel8
                ActiveWorkbook.Close

            sh3.Copy
                ActiveWorkbook.SaveAs SaveAsName & "sh3" & ".xls" ', FileFormat:=xlExcel8
                ActiveWorkbook.Close

        Application.ScreenUpdating = True

End Sub
[/vba]

Вместо "sh2" в именах сохраняемых файлов можно написать что-нибудь осмысленное

Автор - Hugo
Дата добавления - 16.12.2010 в 13:46
Losdigo Дата: Четверг, 16.12.2010, 16:46 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Hugo, Спасибо за дополнение! Только сейчас начал заниматься... Думаю к 22-23 часам будет выхлоп)
 
Ответить
СообщениеHugo, Спасибо за дополнение! Только сейчас начал заниматься... Думаю к 22-23 часам будет выхлоп)

Автор - Losdigo
Дата добавления - 16.12.2010 в 16:46
Hugo Дата: Четверг, 16.12.2010, 17:23 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3691
Репутация: 790 ±
Замечаний: 0% ±

365
Ещё мысли по теме -
1. Наверное стоит как-то помечать распечатанные строки.
Например цветом или ставить пометку где-то в свободном столбце.
2. В имя файла вероятно кроме времени (для информации и чтоб файлы имели уникальные имена) ещё стоит добавить номер строки или ID или название клиента.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЕщё мысли по теме -
1. Наверное стоит как-то помечать распечатанные строки.
Например цветом или ставить пометку где-то в свободном столбце.
2. В имя файла вероятно кроме времени (для информации и чтоб файлы имели уникальные имена) ещё стоит добавить номер строки или ID или название клиента.

Автор - Hugo
Дата добавления - 16.12.2010 в 17:23
Losdigo Дата: Четверг, 16.12.2010, 21:06 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Hugo, я только 10% от основной задачи сделал, про дополнения и усовершенствования ещё не думал, только шаблон подготовил...
1. надо будет, но это на 10 месте) А так пометка, скорее всего на последних столбцах, но я ещё не определился с их кол-вом smile
2. имя файла выглядит так (номер формы - 2 или 4)-(Город)-(Продукт)-(Город)-(кол-во) Пример - "2-ЛЕН. ОБЛ.-СВИНИНА-ГЕРМАНИЯ-543.xls" (xlsm)
Дополнеий много надо, но это не скоро)
Попробую сам помучаться.

20% (буду обновлять smile )



Сообщение отредактировал Losdigo - Пятница, 17.12.2010, 00:11
 
Ответить
СообщениеHugo, я только 10% от основной задачи сделал, про дополнения и усовершенствования ещё не думал, только шаблон подготовил...
1. надо будет, но это на 10 месте) А так пометка, скорее всего на последних столбцах, но я ещё не определился с их кол-вом smile
2. имя файла выглядит так (номер формы - 2 или 4)-(Город)-(Продукт)-(Город)-(кол-во) Пример - "2-ЛЕН. ОБЛ.-СВИНИНА-ГЕРМАНИЯ-543.xls" (xlsm)
Дополнеий много надо, но это не скоро)
Попробую сам помучаться.

20% (буду обновлять smile )


Автор - Losdigo
Дата добавления - 16.12.2010 в 21:06
Hugo Дата: Четверг, 16.12.2010, 23:25 | Сообщение № 18
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3691
Репутация: 790 ±
Замечаний: 0% ±

365
Понятно.
Имя файла можно и такое генерить - вставляете нужные данные сюда в конец
SaveAsName = ThisWorkbook.Path & "\" & strDate
Можно через переменные, можно прямо с листа брать. Имя формы потом перед сохранением добавите.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеПонятно.
Имя файла можно и такое генерить - вставляете нужные данные сюда в конец
SaveAsName = ThisWorkbook.Path & "\" & strDate
Можно через переменные, можно прямо с листа брать. Имя формы потом перед сохранением добавите.

Автор - Hugo
Дата добавления - 16.12.2010 в 23:25
Rybak6464 Дата: Вторник, 15.10.2013, 19:06 | Сообщение № 19
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Здравствуйте, уважаемый Hugo, не могли бы вы дополнить ваш макрос (3H.zip) функцией копирования значений из нескольких выделенных строк?
Например выделяем 1 строку в исходной таблице- заполняется 1 строка в форме значениями из исходной строки, если выделяем 2, то соответственно, заполняем 2 строки формы, итд.
Для выполнения моей задачи, было бы достаточно 5и строк.
Если это возможно... Заранее очень признателен!
 
Ответить
СообщениеЗдравствуйте, уважаемый Hugo, не могли бы вы дополнить ваш макрос (3H.zip) функцией копирования значений из нескольких выделенных строк?
Например выделяем 1 строку в исходной таблице- заполняется 1 строка в форме значениями из исходной строки, если выделяем 2, то соответственно, заполняем 2 строки формы, итд.
Для выполнения моей задачи, было бы достаточно 5и строк.
Если это возможно... Заранее очень признателен!

Автор - Rybak6464
Дата добавления - 15.10.2013 в 19:06
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!