Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2016, 18:02   #1
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию Скопировать формулу при условии

Доброго времени суток, уважаемые форумчане!

Обращаюсь к вам за помощью при создании макроса, который бы при нахождении значения "Итого" в столбце "A1:A500", формулу из соседней ячейки "B", той строки где "Итого", копировал и вставлял в ячейки "D:J" и "O:S", в этой же строке.
Изображения
Тип файла: jpg Итого.jpg (121.1 Кб, 114 просмотров)
Вложения
Тип файла: xlsx Проверка сальдо_ф.xlsx (22.9 Кб, 10 просмотров)
amadeus017 вне форума Ответить с цитированием
Старый 09.02.2016, 18:26   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

проделайте операции вручную
запишите рекордером действия
будет Вам макрос

удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 09.02.2016, 18:35   #3
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию

Я именно так и сделал. Запустил рекордер, сделал все манипуляции и остановил макрос.
Однако, если уменьшать или увеличивать количество строк, думаю, что мною записанный макрос, не пойдет(...
В приведенном мною примере, количество строк, одинаковое, вот и хотел привязаться в значению "Итого", которое стоит в графах "A" и "L".
amadeus017 вне форума Ответить с цитированием
Старый 09.02.2016, 20:08   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от amadeus017 Посмотреть сообщение
Запустил рекордер, сделал все манипуляции и остановил макрос.
поделитесь кодом. Что-там?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 10.02.2016, 02:02   #5
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
поделитесь кодом. Что-там?
Таблица больше, чем в приведенном примере, и имеет, как я уже писал, разный размер.

Sub Итоги()
'
' Итоги Макрос

'
ActiveWindow.SmallScroll Down:=-15
Range("B22").Select
Selection.Copy
Range("D22:I22,O22:S22").Select
Range("O22").Activate
ActiveSheet.Paste
Application.CutCopyMode = False
' ActiveWindow.SmallScroll Down:=18
Range("B42").Select
Selection.Copy
Range("D42:I42,O42:S42").Select
Range("O42").Activate
ActiveSheet.Paste
Application.CutCopyMode = False
' ActiveWindow.SmallScroll Down:=18
Range("B63").Select
Selection.Copy
Range("D63:I63,O63:S63").Select
Range("O63").Activate
ActiveSheet.Paste
Application.CutCopyMode = False
Range("S68").Select
Selection.Copy
Range("O68:R68").Select
ActiveSheet.Paste
Application.CutCopyMode = False
' ActiveWindow.SmallScroll Down:=24
Range("B87").Select
Selection.Copy
Range("D87:I87,O87:S87").Select
Range("O87").Activate
ActiveSheet.Paste
Application.CutCopyMode = False
' ActiveWindow.SmallScroll Down:=33
Range("B126").Select
Selection.Copy
Range("D126:I126,O126:S126").Select
Range("O126").Activate
ActiveSheet.Paste
Application.CutCopyMode = False
' ActiveWindow.SmallScroll Down:=24
Range("B146").Select
Selection.Copy
Range("D146:I146,O146:S146").Select
Range("O146").Activate
ActiveSheet.Paste
Application.CutCopyMode = False
' ActiveWindow.SmallScroll Down:=18
Range("B167").Select
Selection.Copy
Range("D167:I167,O167:S167").Select
Range("O167").Activate
ActiveSheet.Paste
Application.CutCopyMode = False
Range("B170").Select
Selection.Copy
Range("D170:I170,O170:S170").Select
Range("O170").Activate
ActiveSheet.Paste
Application.CutCopyMode = False
Range("B172").Select
Selection.Copy
Range("D172:I172,O172:S172").Select
Range("O172").Activate
ActiveSheet.Paste
Application.CutCopyMode = False

ActiveWindow.SmallScroll Down:=-170
Range("A4").Select
End Sub

Последний раз редактировалось amadeus017; 10.02.2016 в 02:26.
amadeus017 вне форума Ответить с цитированием
Старый 10.02.2016, 02:12   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub InsSumm()
  Dim r As Long
  r = WorksheetFunction.Match("Итого", Columns(1), 0)
  Cells(r, 2).Copy Cells(r, 4).Resize(1, 7)
  Cells(r, 15).Resize(1, 5).Paste
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 10.02.2016 в 02:16.
IgorGO вне форума Ответить с цитированием
Старый 10.02.2016, 02:22   #7
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию

IgorGO
Спасибо за код!
Код работает, но только на первой таблице, в других таблицах (ниже под ней), данные не поменялись (сумма не посчитана).
amadeus017 вне форума Ответить с цитированием
Старый 10.02.2016, 02:49   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

меня это ни сколько не удивляет.
надо полагать, что о существовании на листе еще некоторого количества таблиц догадывались все, кроме меня

и еще... с прискорбием должен признать, что предложенный код не добавит суммы на других листах этой книги, не говоря уже о других книгах на Вашем компьютере и Вашей локальной сети
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Excel 2004 не получается скопировать формулу! VR1967 Microsoft Office Excel 18 15.01.2016 15:09
Запуск макроса при условии Сергей846 Microsoft Office Excel 9 01.11.2011 17:51
Word - как скопировать код (формулу) поля, НЕ значение? Казанский Microsoft Office Word 4 01.08.2011 19:37
удаление строки при условии horpenst Microsoft Office Excel 6 30.03.2011 14:31
Как скопировать формулу чтобы не изменились значения в ячейках _Alias_ Microsoft Office Excel 1 08.02.2011 17:22