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

Вход

Регистрация

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

 

= Мир MS Excel/Создание отчета по шаблону из таблицы по условию - Страница 2 - Мир MS Excel

  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_, DrMini  
Создание отчета по шаблону из таблицы по условию
Valeriy89 Дата: Суббота, 19.12.2015, 22:42 | Сообщение № 21
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Wasilic, еще бы хотел узнать как можно связать 2 комбобокса: т.е. у меня для заполнения акта используются две колонки комбобокса, в одном должность , в другом фамилии, необходимо чтобы при выборе в одном должности в другом комбобоксе появлялась соответствующая фамилия
Фамилии и должности приведены на листе3.
Файл примера прикладываю.
И такой вопрос: как лучше защитить лист (чтобы могли другие просматривать, вносить изменения в ячейки в определенном диапозоне, но не могли корректировать форму, и как установить пароль на VBA, чтобы не могли смотреть код и вносить в код изменения?
[moder]Не надо складывать все вопросы в одну тему. Читайте Правила форума[/moder]
К сообщению приложен файл: 3803008.xlsm (30.4 Kb)


Сообщение отредактировал Pelena - Суббота, 19.12.2015, 23:32
 
Ответить
СообщениеWasilic, еще бы хотел узнать как можно связать 2 комбобокса: т.е. у меня для заполнения акта используются две колонки комбобокса, в одном должность , в другом фамилии, необходимо чтобы при выборе в одном должности в другом комбобоксе появлялась соответствующая фамилия
Фамилии и должности приведены на листе3.
Файл примера прикладываю.
И такой вопрос: как лучше защитить лист (чтобы могли другие просматривать, вносить изменения в ячейки в определенном диапозоне, но не могли корректировать форму, и как установить пароль на VBA, чтобы не могли смотреть код и вносить в код изменения?
[moder]Не надо складывать все вопросы в одну тему. Читайте Правила форума[/moder]

Автор - Valeriy89
Дата добавления - 19.12.2015 в 22:42
ShAM Дата: Суббота, 19.12.2015, 22:46 | Сообщение № 22
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Валерий, зря Вы так.
Быстро читайте Правила форума и исправляйте нарушения, пока Модераторы не проснулись.
 
Ответить
СообщениеВалерий, зря Вы так.
Быстро читайте Правила форума и исправляйте нарушения, пока Модераторы не проснулись.

Автор - ShAM
Дата добавления - 19.12.2015 в 22:46
Wasilich Дата: Суббота, 19.12.2015, 23:26 | Сообщение № 23
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
нужно задать выборку не по выбранному столбцу, а по заранее заданному (чтобы сделать поиск конкретно по январю, февралю и тд)?
А по формированию нового файла в нужную папку.......

Valeriy89, в общем я понял, что я до своего первого сообщения ничего не понял, а сейчас тем более полный ноль! %) :D


Сообщение отредактировал Wasilic - Воскресенье, 20.12.2015, 00:01
 
Ответить
Сообщение
нужно задать выборку не по выбранному столбцу, а по заранее заданному (чтобы сделать поиск конкретно по январю, февралю и тд)?
А по формированию нового файла в нужную папку.......

Valeriy89, в общем я понял, что я до своего первого сообщения ничего не понял, а сейчас тем более полный ноль! %) :D

Автор - Wasilich
Дата добавления - 19.12.2015 в 23:26
ShAM Дата: Суббота, 19.12.2015, 23:34 | Сообщение № 24
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Цитата
Модератор:
Оформляйте коды тегами
(кнопка #). Исправила на
первый раз

Елена, а Сообщение № 22 ни чем не насторожило? :)
________________
Ух ты, оперативненько. yes


Сообщение отредактировал ShAM - Суббота, 19.12.2015, 23:35
 
Ответить
Сообщение
Цитата
Модератор:
Оформляйте коды тегами
(кнопка #). Исправила на
первый раз

Елена, а Сообщение № 22 ни чем не насторожило? :)
________________
Ух ты, оперативненько. yes

Автор - ShAM
Дата добавления - 19.12.2015 в 23:34
Valeriy89 Дата: Воскресенье, 20.12.2015, 00:19 | Сообщение № 25
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Wasilic, в общем в вашем варианте макрос КОПИРОВАТЬ выполняет перенос работ на лист, который соответствует колонке с месяцем на который я нажму мышкой, т.е. выбор месяца происходит через "KL = Selection.Column" - выбирается месяц, если не попал в заданные 12 столбцов, то просит выбрать столбец с месяцем.

Я бы хотел иметь следующие варианты выбора создания плана работ по графику:

1. На листе "ГРафик" есть кнопка, при нажатии на которую открывается UserForm, на UserForm будет Combobox в котором нужно выбрать месяц январь...декабрь, рядом с combobox кнопка "Сформировать", после нажатия на кнопку "Сформировать" работы в месяце выбранном в Comboboxе переносятся на лист 1 (который является шаблоном).

2. На листе "ГРафик" есть кнопка, при нажатии на которую открывается UserForm, на UserForm будед 12 кнопок ("Январь" "февраль" ..."декабрь"), елси нажимаю кнопку январь, то работы из графика за январь переносятся на лист 1 (который является Шаблоном).

Вот и хочу узнать как написать на основе вашего предложения код для варианта 1 (в идеале) или для варианта 2.
 
Ответить
СообщениеWasilic, в общем в вашем варианте макрос КОПИРОВАТЬ выполняет перенос работ на лист, который соответствует колонке с месяцем на который я нажму мышкой, т.е. выбор месяца происходит через "KL = Selection.Column" - выбирается месяц, если не попал в заданные 12 столбцов, то просит выбрать столбец с месяцем.

Я бы хотел иметь следующие варианты выбора создания плана работ по графику:

1. На листе "ГРафик" есть кнопка, при нажатии на которую открывается UserForm, на UserForm будет Combobox в котором нужно выбрать месяц январь...декабрь, рядом с combobox кнопка "Сформировать", после нажатия на кнопку "Сформировать" работы в месяце выбранном в Comboboxе переносятся на лист 1 (который является шаблоном).

2. На листе "ГРафик" есть кнопка, при нажатии на которую открывается UserForm, на UserForm будед 12 кнопок ("Январь" "февраль" ..."декабрь"), елси нажимаю кнопку январь, то работы из графика за январь переносятся на лист 1 (который является Шаблоном).

Вот и хочу узнать как написать на основе вашего предложения код для варианта 1 (в идеале) или для варианта 2.

Автор - Valeriy89
Дата добавления - 20.12.2015 в 00:19
Kuzmich Дата: Воскресенье, 20.12.2015, 00:35 | Сообщение № 26
Группа: Проверенные
Ранг: Ветеран
Сообщений: 715
Репутация: 157 ±
Замечаний: 0% ±

Excel 2003
Цитата
на UserForm будет Combobox

Зачем вам эти формы, когда решить проблему можно проще.
Я вам уже предлагал вариант, вот еще один. На листе График
меняете в любом месяце значения ТО и автоматически данные
переносятся на лист ПланРабот. И никаких форм.
К сообщению приложен файл: _3.xls (47.5 Kb)
 
Ответить
Сообщение
Цитата
на UserForm будет Combobox

Зачем вам эти формы, когда решить проблему можно проще.
Я вам уже предлагал вариант, вот еще один. На листе График
меняете в любом месяце значения ТО и автоматически данные
переносятся на лист ПланРабот. И никаких форм.

Автор - Kuzmich
Дата добавления - 20.12.2015 в 00:35
Valeriy89 Дата: Воскресенье, 20.12.2015, 00:54 | Сообщение № 27
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Kuzmich, Опять же, на каждый месяц это +12 листов в книге, там и так будет листов 30 + еще 12 перебор будет уже
И при таком варианте если я просто копирую другой столбце в текущий, то планработ не обновляется пока не нажмешь двойным кликом на ячейку, а при более для меня удобном варианте с формой, он заново считывает значения.

А есть возможность переноса данных не в два разных столбца, а в одну ячейку?
 
Ответить
СообщениеKuzmich, Опять же, на каждый месяц это +12 листов в книге, там и так будет листов 30 + еще 12 перебор будет уже
И при таком варианте если я просто копирую другой столбце в текущий, то планработ не обновляется пока не нажмешь двойным кликом на ячейку, а при более для меня удобном варианте с формой, он заново считывает значения.

А есть возможность переноса данных не в два разных столбца, а в одну ячейку?

Автор - Valeriy89
Дата добавления - 20.12.2015 в 00:54
Kuzmich Дата: Воскресенье, 20.12.2015, 00:59 | Сообщение № 28
Группа: Проверенные
Ранг: Ветеран
Сообщений: 715
Репутация: 157 ±
Замечаний: 0% ±

Excel 2003
Цитата
на каждый месяц это +12 листов в книге

В последнем варианте всего один лист ПланРабот, вы внимательно смотрели?
 
Ответить
Сообщение
Цитата
на каждый месяц это +12 листов в книге

В последнем варианте всего один лист ПланРабот, вы внимательно смотрели?

Автор - Kuzmich
Дата добавления - 20.12.2015 в 00:59
Valeriy89 Дата: Воскресенье, 20.12.2015, 02:34 | Сообщение № 29
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Kuzmich, ОК, а как записатьвид работ и оборудование в одной ячейке?)
 
Ответить
СообщениеKuzmich, ОК, а как записатьвид работ и оборудование в одной ячейке?)

Автор - Valeriy89
Дата добавления - 20.12.2015 в 02:34
Kuzmich Дата: Воскресенье, 20.12.2015, 10:39 | Сообщение № 30
Группа: Проверенные
Ранг: Ветеран
Сообщений: 715
Репутация: 157 ±
Замечаний: 0% ±

Excel 2003
Цитата
как записать вид работ и оборудование в одной ячейке?

В коде все написано
[vba]
Код

        .Cells(iLastRow, 2) = Cells(i, j)       'работа
        .Cells(iLastRow, 3) = Cells(i, 4)       'машина
[/vba]
Работа в столбец В(цифра 2 в коде)
Машина в столбец С(цифра 3 в коде)
Если нужно в одну ячейку(какую?) сделайте конкатенацию
[vba]
Код

       .Cells(iLastRow, 2)= Cells(i, j & " " & Cells(i, 4)
[/vba]
 
Ответить
Сообщение
Цитата
как записать вид работ и оборудование в одной ячейке?

В коде все написано
[vba]
Код

        .Cells(iLastRow, 2) = Cells(i, j)       'работа
        .Cells(iLastRow, 3) = Cells(i, 4)       'машина
[/vba]
Работа в столбец В(цифра 2 в коде)
Машина в столбец С(цифра 3 в коде)
Если нужно в одну ячейку(какую?) сделайте конкатенацию
[vba]
Код

       .Cells(iLastRow, 2)= Cells(i, j & " " & Cells(i, 4)
[/vba]

Автор - Kuzmich
Дата добавления - 20.12.2015 в 10:39
Wasilich Дата: Воскресенье, 20.12.2015, 12:10 | Сообщение № 31
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Тоже ненавижу работать с UserForm-ами, сто пудов, можно обойтись без них, в самом необходимом случае можно использовать отдельный лист.
Вот еще пример решения задачи.
Уже на одних только примерах можно изучить VBA. :D
К сообщению приложен файл: Valeriy899.xls (60.0 Kb)


Сообщение отредактировал Wasilic - Воскресенье, 20.12.2015, 12:25
 
Ответить
СообщениеТоже ненавижу работать с UserForm-ами, сто пудов, можно обойтись без них, в самом необходимом случае можно использовать отдельный лист.
Вот еще пример решения задачи.
Уже на одних только примерах можно изучить VBA. :D

Автор - Wasilich
Дата добавления - 20.12.2015 в 12:10
Valeriy89 Дата: Понедельник, 21.12.2015, 23:21 | Сообщение № 32
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Wasilic, вариант устраивает полностью, переделал форму отчета под себя, только как в вашем коде сделать, чтобы сначала находилась последняя строка (которая заполнялась по макросу), чертились все границы новой таблицы на листе ПЛАН, и после этого вставлялась строка Должность подпись с шрифтом TimesNewRomans, 11?

С записями значений в одну ячейку из нескольких разобрался, полезная штука, благодарю!
 
Ответить
СообщениеWasilic, вариант устраивает полностью, переделал форму отчета под себя, только как в вашем коде сделать, чтобы сначала находилась последняя строка (которая заполнялась по макросу), чертились все границы новой таблицы на листе ПЛАН, и после этого вставлялась строка Должность подпись с шрифтом TimesNewRomans, 11?

С записями значений в одну ячейку из нескольких разобрался, полезная штука, благодарю!

Автор - Valeriy89
Дата добавления - 21.12.2015 в 23:21
Wasilich Дата: Вторник, 22.12.2015, 00:38 | Сообщение № 33
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
чтобы сначала находилась последняя строка
[vba]
Код
Последняя_строка = Range("A" & Rows.Count).End(xlUp).Row
Последняя_строка = Cells(Rows.Count, 1).End(xlUp).Row
[/vba]
чертились все границы новой таблицы на листе ПЛАН
[vba]
Код
.Range("A5:E" & S - 1).Borders.Weight = xlThin
[/vba]
Пробуйте пользоваться макрорекордером и Яндексом или Гуглом.


Сообщение отредактировал Wasilic - Вторник, 22.12.2015, 00:40
 
Ответить
Сообщение
чтобы сначала находилась последняя строка
[vba]
Код
Последняя_строка = Range("A" & Rows.Count).End(xlUp).Row
Последняя_строка = Cells(Rows.Count, 1).End(xlUp).Row
[/vba]
чертились все границы новой таблицы на листе ПЛАН
[vba]
Код
.Range("A5:E" & S - 1).Borders.Weight = xlThin
[/vba]
Пробуйте пользоваться макрорекордером и Яндексом или Гуглом.

Автор - Wasilich
Дата добавления - 22.12.2015 в 00:38
Kuzmich Дата: Вторник, 22.12.2015, 00:40 | Сообщение № 34
Группа: Проверенные
Ранг: Ветеран
Сообщений: 715
Репутация: 157 ±
Замечаний: 0% ±

Excel 2003
Wasilic
У меня все это есть в коде, просто ТС не желает учиться.
 
Ответить
СообщениеWasilic
У меня все это есть в коде, просто ТС не желает учиться.

Автор - Kuzmich
Дата добавления - 22.12.2015 в 00:40
Wasilich Дата: Вторник, 22.12.2015, 00:44 | Сообщение № 35
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
просто ТС не желает учиться.
Я ж писал:
Уже на одних только примерах можно изучить VBA. :D
 
Ответить
Сообщение
просто ТС не желает учиться.
Я ж писал:
Уже на одних только примерах можно изучить VBA. :D

Автор - Wasilich
Дата добавления - 22.12.2015 в 00:44
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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