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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическое копирование формулы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Автоматическое копирование формулы
yuka Дата: Четверг, 28.02.2013, 12:37 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день, дорогие форумчане!
Оффтоп: я задаю вопросы, получаю ответы, и редко когда соизволяю отблагодарить. Прошу прощения у тех, кому не удосужилась сказать "Спасибо". Нет практически ни одного вопроса, в котором бы я не получила здесь ответа! Спасибо всем огромное!

У меня прайс, позиции которого, формируются формулами. См. файл. Суть в том, что на листе "Прайс" я удаляю из пустых ячеек формулы. Соответственно, при добавлении/удалении позиций (на листе "Исходник") происходит смещение данных в листе "Прайс".
Можно ли как-то автоматически распространить (скопировать) формулы, чтобы все позиции вернулись на свои места? Строк почти 9 тыс. При ручном распространении формул на весь диапазон, Excel выдает ошибку, что данных очень много. Можно ли макросом это миновать?
К сообщению приложен файл: primer.xls (57.0 Kb)
 
Ответить
СообщениеДобрый день, дорогие форумчане!
Оффтоп: я задаю вопросы, получаю ответы, и редко когда соизволяю отблагодарить. Прошу прощения у тех, кому не удосужилась сказать "Спасибо". Нет практически ни одного вопроса, в котором бы я не получила здесь ответа! Спасибо всем огромное!

У меня прайс, позиции которого, формируются формулами. См. файл. Суть в том, что на листе "Прайс" я удаляю из пустых ячеек формулы. Соответственно, при добавлении/удалении позиций (на листе "Исходник") происходит смещение данных в листе "Прайс".
Можно ли как-то автоматически распространить (скопировать) формулы, чтобы все позиции вернулись на свои места? Строк почти 9 тыс. При ручном распространении формул на весь диапазон, Excel выдает ошибку, что данных очень много. Можно ли макросом это миновать?

Автор - yuka
Дата добавления - 28.02.2013 в 12:37
nilem Дата: Четверг, 28.02.2013, 13:07 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Здрасьте
попробуйте так, вообще без формул
[vba]
Код
Sub ertert()
Dim x, i&
With Sheets("Исходник")
     x = .Range("A1:F" & .Cells(Rows.Count, 4).End(xlUp).Row).Value
End With
For i = 1 To UBound(x)
     If Len(x(i, 4)) Then x(i, 4) = x(i, 4) & ", " & x(i, 5)
     x(i, 5) = x(i, 6)
Next i
With Sheets("Прайс")
     Intersect(.UsedRange, .Columns("A:E")).ClearContents
     .Range("A1:E1").Resize(i - 1).Value = x
End With
End Sub
[/vba]
т.е. если Исходник изменился, то нужно нажать кнопку "Обновить"
К сообщению приложен файл: _primer-1.xls (46.0 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеЗдрасьте
попробуйте так, вообще без формул
[vba]
Код
Sub ertert()
Dim x, i&
With Sheets("Исходник")
     x = .Range("A1:F" & .Cells(Rows.Count, 4).End(xlUp).Row).Value
End With
For i = 1 To UBound(x)
     If Len(x(i, 4)) Then x(i, 4) = x(i, 4) & ", " & x(i, 5)
     x(i, 5) = x(i, 6)
Next i
With Sheets("Прайс")
     Intersect(.UsedRange, .Columns("A:E")).ClearContents
     .Range("A1:E1").Resize(i - 1).Value = x
End With
End Sub
[/vba]
т.е. если Исходник изменился, то нужно нажать кнопку "Обновить"

Автор - nilem
Дата добавления - 28.02.2013 в 13:07
yuka Дата: Четверг, 28.02.2013, 14:25 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо большое, буду пробовать. Весьма координальное решение проблемы.
 
Ответить
СообщениеСпасибо большое, буду пробовать. Весьма координальное решение проблемы.

Автор - yuka
Дата добавления - 28.02.2013 в 14:25
  • Страница 1 из 1
  • 1
Поиск:

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