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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2011, 10:36   #11
Екатрина
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 26
По умолчанию

vikttur, код, указанный вами
запускает новую книгу и переносит цели в столбец, а мне надо в в этой же книге в лист "свод " и в строчку: цель, вес цель, вес.
это моя специфика.
я разобралась и написала код как переносить со всех листов в свод нужную информацию.
запуталась только табличкой по целям.

Последний раз редактировалось Екатрина; 19.04.2011 в 10:53.
Екатрина вне форума Ответить с цитированием
Старый 19.04.2011, 10:46   #12
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Я не знаток VBA, но советовать могу
Постарайтесь до прихода макросоведов выложить пример с 2-3 листами-источниками и сводом, "ГдеКудаКак".
А уж специалисты создадут вам цикл прохода по листам.
vikttur вне форума Ответить с цитированием
Старый 19.04.2011, 10:48   #13
Екатрина
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 26
По умолчанию

Цитата:
Сообщение от vikttur Посмотреть сообщение
А уж специалисты создадут вам цикл прохода по листам.
так цикл прохода по листам у меня создан.
в моем тексте указан.
а вот поискпоз, то есть match в листах не пашет (
Екатрина вне форума Ответить с цитированием
Старый 19.04.2011, 10:58   #14
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

CurrentRegion - это область, прилегающая к выбранной ячейке. Выделена или нет - без разницы.
А по задаче - я показал, как можно часть нужной таблицы скопировать в нужное место. Если конечно подходит приём с CurrentRegion.
Куда копировать - это другой вопрос. Можно всё собирать в один лист, сдвигая целевую ячейку или определяя её после каждого копирования заново (iLastRow = Cells(Rows.Count, 1).End(xlUp).Row)

Или так, в существующий Sheets("свод"):
Код:
Sub tttt()
Dim x As Range, rr As Range

Set x = Cells.Find("всего", , , xlWhole)
If Not x Is Nothing Then
'MsgBox "В текущем диапазоне " & x.CurrentRegion.Rows.Count - 1 & " строк."
Set rr = x.CurrentRegion
Set rr = rr.Offset(1, 0).Resize(rr.Rows.Count - 2, rr.Columns.Count) 'сдвиг выбора таблицы на  строку ниже и низ затем на 2 строки выше
With Sheets("свод")
rr.Copy .Range("A" & .Rows.Count).End(IIf(Len(.Range("A" & .Rows.Count)), xlDown, xlUp)).Offset(1)
End With
End If

End Sub
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 19.04.2011 в 11:11.
Hugo121 вне форума Ответить с цитированием
Старый 19.04.2011, 11:27   #15
Екатрина
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 26
По умолчанию

Hugo121 , в вашем макросе перенос идет вместе с объединенными ячейками, а я переношу в 1.
я понимаю, что задача каждый раз обновляется.
поэтому макрос по переносу данных в свод у меня написан, цикл есть, указан выше.
не могу прописать функцию "поискпоз" для каждого листа, чтобы определить количество столбцов, которые перенести.
потом я поячеечно переношу их в свод (без объединения ячеек).

Последний раз редактировалось Екатрина; 19.04.2011 в 11:42.
Екатрина вне форума Ответить с цитированием
Старый 19.04.2011, 12:01   #16
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Не очень понял, что именно нужно, но так выводит то же самое, что и MsgBox "В текущем диапазоне " & x.CurrentRegion.Rows.Count - 1 & " строк." :
Код:
Sheets(nm).Cells(1, r).Formula = "=MATCH(""всего""," & ws.Name & "!A16:A23,0)"
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 19.04.2011, 12:16   #17
Екатрина
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 26
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Не очень понял, что именно нужно, но так выводит то же самое, что и MsgBox "В текущем диапазоне " & x.CurrentRegion.Rows.Count - 1 & " строк." :
Код:
Sheets(nm).Cells(1, r).Formula = "=MATCH(""всего""," & ws.Name & "!A16:A23,0)"
ООО!
моя ошибка в синатксисе .... большое вам спасибо!!! )
дальше я разберусь сама ))))
Екатрина вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подсчет в таблице Deni55 Microsoft Office Excel 7 25.05.2011 14:10
Макрос на сравнение и подсчет в первом столбце строк, и сумирование значений этих строк в другом столбце Shpr0T Microsoft Office Excel 8 30.08.2010 17:52
Подсчет результатов в турнирной таблице. vladi Microsoft Office Excel 5 29.06.2010 13:45
Подсчет количества совпадений в таблице aval Microsoft Office Excel 8 08.11.2009 21:50
Подсчет полей в таблице Arkatic Общие вопросы C/C++ 0 10.05.2009 22:52