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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическое копирование связанных диапазонов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическое копирование связанных диапазонов (Макросы/Sub)
Автоматическое копирование связанных диапазонов
Lestat77 Дата: Понедельник, 22.06.2020, 00:08 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый вечер. Возник очень назойливый вопрос, связанный со спецификой деятельности. Есть таблица, разделенная на блоки, где каждая ячейка содержит какой то параметр (каждый блок- 3 столбца). В зависимости от этих параметров в стороне от таблицы есть другие таблицы, подсчитывающие определенные коэффициенты. Хотелось бы максимально упростить процесс продления таблицы (добавления блоков), т.е. я добавляю новый блок, а где то в стороне автоматически появляются новые столбцы в нужном месте с нужными формулами. Визуальное отображение приведено в файле. Самый левая цветная группа столбцов - блок исходных данных, справа - зависимые. Буду благодарен за помощь
К сообщению приложен файл: 1369602.xlsx (49.1 Kb)


Сообщение отредактировал Lestat77 - Понедельник, 22.06.2020, 00:26
 
Ответить
СообщениеДобрый вечер. Возник очень назойливый вопрос, связанный со спецификой деятельности. Есть таблица, разделенная на блоки, где каждая ячейка содержит какой то параметр (каждый блок- 3 столбца). В зависимости от этих параметров в стороне от таблицы есть другие таблицы, подсчитывающие определенные коэффициенты. Хотелось бы максимально упростить процесс продления таблицы (добавления блоков), т.е. я добавляю новый блок, а где то в стороне автоматически появляются новые столбцы в нужном месте с нужными формулами. Визуальное отображение приведено в файле. Самый левая цветная группа столбцов - блок исходных данных, справа - зависимые. Буду благодарен за помощь

Автор - Lestat77
Дата добавления - 22.06.2020 в 00:08
Pelena Дата: Понедельник, 22.06.2020, 21:48 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Думаю, совсем автоматически при добавлении столбцов добавлять зависимые столбцы - не очень хорошая идея. Может, просто сделать кнопку, которая будет добавлять справа в конец таблицы новый блок. То есть Вы вручную добавляете три исходных столбца, нажимаете кнопку и получаете зависимые столбцы.
В любом случае нужно более четкое описание, сколько надо добавлять столбцов, с какими формулами...


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Думаю, совсем автоматически при добавлении столбцов добавлять зависимые столбцы - не очень хорошая идея. Может, просто сделать кнопку, которая будет добавлять справа в конец таблицы новый блок. То есть Вы вручную добавляете три исходных столбца, нажимаете кнопку и получаете зависимые столбцы.
В любом случае нужно более четкое описание, сколько надо добавлять столбцов, с какими формулами...

Автор - Pelena
Дата добавления - 22.06.2020 в 21:48
Lestat77 Дата: Понедельник, 22.06.2020, 22:18 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Большое спасибо за ответ! Исходые столбцы (в новом файле выделены желтым) можно добавлять и в ручную. Главное - чтобы соседние таблицы расширялись после этого появления. Каждые три столбца основной таблицы- это недели. В зависимых таблицах каждый столбец - неделя (что тоже является отдельной проблемой с нумерацией, решения которой не дает ИНДЕКС+ПОИСКПОЗ) Более наглядный файл прилагаю, некоторые зависимые таблицы пришлось убрать для упрощения
К сообщению приложен файл: 7818589.xlsx (16.3 Kb)
 
Ответить
СообщениеБольшое спасибо за ответ! Исходые столбцы (в новом файле выделены желтым) можно добавлять и в ручную. Главное - чтобы соседние таблицы расширялись после этого появления. Каждые три столбца основной таблицы- это недели. В зависимых таблицах каждый столбец - неделя (что тоже является отдельной проблемой с нумерацией, решения которой не дает ИНДЕКС+ПОИСКПОЗ) Более наглядный файл прилагаю, некоторые зависимые таблицы пришлось убрать для упрощения

Автор - Lestat77
Дата добавления - 22.06.2020 в 22:18
Pelena Дата: Понедельник, 22.06.2020, 23:38 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Не знаю, правильно ли поняла.
Нажмите кнопку, смотрите результат.
Формулы немного изменила, теперь можно не прибавлять 0,1

UPD
Да, забыла написать, что хотя бы одна неделя должна быть заполнена во всех таблицах, как образец для копирования
К сообщению приложен файл: 7818589.xlsm (23.5 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНе знаю, правильно ли поняла.
Нажмите кнопку, смотрите результат.
Формулы немного изменила, теперь можно не прибавлять 0,1

UPD
Да, забыла написать, что хотя бы одна неделя должна быть заполнена во всех таблицах, как образец для копирования

Автор - Pelena
Дата добавления - 22.06.2020 в 23:38
Lestat77 Дата: Вторник, 23.06.2020, 09:34 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Еще раз спасибо за ваш труд! Мой бедный Excel не хочет запускать файл, хотя пытается, и даже даёт видеть начинку, но через секунду просто вылетает.
 
Ответить
СообщениеЕще раз спасибо за ваш труд! Мой бедный Excel не хочет запускать файл, хотя пытается, и даже даёт видеть начинку, но через секунду просто вылетает.

Автор - Lestat77
Дата добавления - 23.06.2020 в 09:34
Pelena Дата: Вторник, 23.06.2020, 09:40 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Совсем вылетает, или на какой-то строке показывает ошибку?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеСовсем вылетает, или на какой-то строке показывает ошибку?

Автор - Pelena
Дата добавления - 23.06.2020 в 09:40
Lestat77 Дата: Вторник, 23.06.2020, 09:46 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Вылетает полностью. У меня 2013, сейчас исправлю отображение
 
Ответить
СообщениеВылетает полностью. У меня 2013, сейчас исправлю отображение

Автор - Lestat77
Дата добавления - 23.06.2020 в 09:46
Pelena Дата: Вторник, 23.06.2020, 09:49 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Попробуйте пошагово запустить из редактора VBA клавишей F8. До какой строки доходит?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеПопробуйте пошагово запустить из редактора VBA клавишей F8. До какой строки доходит?

Автор - Pelena
Дата добавления - 23.06.2020 в 09:49
Lestat77 Дата: Вторник, 23.06.2020, 09:57 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Я с VBA только начал знакомство, поэтому, скорее всего делаю что-то не так. Открыв Excel и запустив VBA я выбрал расширение all? после чего выбрал искомый файл, на что он мне ответил could not be loaded
 
Ответить
СообщениеЯ с VBA только начал знакомство, поэтому, скорее всего делаю что-то не так. Открыв Excel и запустив VBA я выбрал расширение all? после чего выбрал искомый файл, на что он мне ответил could not be loaded

Автор - Lestat77
Дата добавления - 23.06.2020 в 09:57
Lestat77 Дата: Вторник, 23.06.2020, 11:28 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Он был заблокирован! Спасибо, все работает просто отлично, а с формулами теперь в недоумении, как сам не придумал, ведь мысли по-поводу +1; +2 к ПОИСКПОЗ вертелись в голове. Теперь буду разбираться с макросом, потому что оригинал таблицы чуть сложнее, в частности, исходных столбца будет 4. Еще раз спасибо!
 
Ответить
СообщениеОн был заблокирован! Спасибо, все работает просто отлично, а с формулами теперь в недоумении, как сам не придумал, ведь мысли по-поводу +1; +2 к ПОИСКПОЗ вертелись в голове. Теперь буду разбираться с макросом, потому что оригинал таблицы чуть сложнее, в частности, исходных столбца будет 4. Еще раз спасибо!

Автор - Lestat77
Дата добавления - 23.06.2020 в 11:28
Pelena Дата: Вторник, 23.06.2020, 11:59 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
исходных столбца будет 4

везде в аргументах свойств Offset и Resize замените 3 на 4


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
исходных столбца будет 4

везде в аргументах свойств Offset и Resize замените 3 на 4

Автор - Pelena
Дата добавления - 23.06.2020 в 11:59
Lestat77 Дата: Вторник, 23.06.2020, 12:16 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Да, уже так и сделал. Интуитивно,конечно. А как быть теперь с тем, что отпала необходимость проставлять номера недели в каждом из 4х исходных столбцов? Оставляю значение в крайнем левом, но при выполнении макроса появляются новые исходники старого формата с кучей одинаковых цифр


Сообщение отредактировал Lestat77 - Вторник, 23.06.2020, 12:23
 
Ответить
СообщениеДа, уже так и сделал. Интуитивно,конечно. А как быть теперь с тем, что отпала необходимость проставлять номера недели в каждом из 4х исходных столбцов? Оставляю значение в крайнем левом, но при выполнении макроса появляются новые исходники старого формата с кучей одинаковых цифр

Автор - Lestat77
Дата добавления - 23.06.2020 в 12:16
Pelena Дата: Вторник, 23.06.2020, 13:30 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Новый номер недели проставлялся этой строчкой
[vba]
Код
Columns(icol).Offset(, 3).Resize(, 3).Rows(1) = WeekNew
[/vba]
Если надо только в первой ячейке, то можно убрать Resize
[vba]
Код
Columns(icol).Offset(, 3).Rows(1) = WeekNew
[/vba]
или немного короче
[vba]
Код
Cells(1, icol + 3) = WeekNew
[/vba]
Но предыдущие недели также должны содержать только один номер. И, соответственно, для 4 столбцов меняем 3 на 4


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНовый номер недели проставлялся этой строчкой
[vba]
Код
Columns(icol).Offset(, 3).Resize(, 3).Rows(1) = WeekNew
[/vba]
Если надо только в первой ячейке, то можно убрать Resize
[vba]
Код
Columns(icol).Offset(, 3).Rows(1) = WeekNew
[/vba]
или немного короче
[vba]
Код
Cells(1, icol + 3) = WeekNew
[/vba]
Но предыдущие недели также должны содержать только один номер. И, соответственно, для 4 столбцов меняем 3 на 4

Автор - Pelena
Дата добавления - 23.06.2020 в 13:30
Lestat77 Дата: Среда, 24.06.2020, 23:31 | Сообщение № 14
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Большое спасибо! Таблица работает, лаконична и эффективна!
 
Ответить
СообщениеБольшое спасибо! Таблица работает, лаконична и эффективна!

Автор - Lestat77
Дата добавления - 24.06.2020 в 23:31
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическое копирование связанных диапазонов (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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