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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2015, 14:13   #1
LyubashaSemenova
 
Регистрация: 02.07.2015
Сообщений: 5
По умолчанию таблица поверки приборов. выводить список приборов по столбцу "место установки" (в определенном месте установки) на отдельный лист

Здравствуйте! Есть таблица с макросами. Это таблица поверки приборов предприятия. Там есть графы такие как "Подразделение" и "место установки" Мне нужно создать некую кнопочку в этой таблице, чтобы при ее нажатии выводился список приборов находящийся только в определенном месте установки. Лучше если это будет новый лист. Возможно ли такое? Если да, то хоть примерно подскажите как, а то я уже всю голову сломала себе! Заранее благодарна за ответы.
P.S. Прикрепить файл не могу, так как размер у него 3 Mb
LyubashaSemenova вне форума Ответить с цитированием
Старый 02.07.2015, 14:24   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

по колонке "место установки" обьединяете в диапазон все ячейки содержащие требуемое название, используя метод Find.
добавляете новый лист, копируете в него все строки диапазона собранного с помощью Find

ЗЫ. выслать макрос не могу, потому что его нужно писать, а это приблизительно 0.5- 0.7Кб
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.07.2015, 14:33   #3
LyubashaSemenova
 
Регистрация: 02.07.2015
Сообщений: 5
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
по колонке "место установки" обьединяете в диапазон все ячейки содержащие требуемое название, используя метод Find.
добавляете новый лист, копируете в него все строки диапазона собранного с помощью Find

ЗЫ. выслать макрос не могу, потому что его нужно писать, а это приблизительно 0.5- 0.7Кб
К сожалению, я несколько далека от Excel..
P.S. А если в рублях?)))
LyubashaSemenova вне форума Ответить с цитированием
Старый 02.07.2015, 15:08   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub Copy2NewSheet()
  Dim rg As Range
  Set rg = FindAllAtRange("Что искать???", Columns(3), 1)
  With Worksheets.Add
    rg.EntireRow.Copy .Cells(1, 1)
  End With
End Sub


Function FindAllAtRange(nm As String, FindRg As Range, Optional WithHead As Long = 0) As Range
  Dim ru As Range, rg As Range, adr As String
  If WithHead > 0 Then Set ru = FindRg.Cells(WithHead)
  Set rg = FindRg.Cells(1)
  Set rg = FindRg.Find(nm, rg, xlValues, xlWhole):  If ru Is Nothing Then Set ru = rg
  If rg Is Nothing Then Exit Function Else Set ru = Union(rg, ru):  adr = rg.Address
  Do
    Set rg = FindRg.Find(nm, rg)
    If rg.Address = adr Then Exit Do Else Set ru = Union(ru, rg)
  Loop
  Set FindAllAtRange = ru
End Function
Что искать??? - текст который будет искать макрос (напишите нужный Вам текст)
Columns(3) - указывает в какой колонке вести поиск
на новый лист могут быть скопированы только данные, а может быть еще "шапка" с исходного листа. 3-й параметр - это номер строки содержащей шапку таблицы (в стандартных таблицах шапка - это одна строка в примере указано 1) если 3-й параметр не указывать - скопируются только строки с найденными данными

укажите нужные параметры, выполните Copy2NewSheet при активном листе с данными.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.07.2015, 16:30   #5
LyubashaSemenova
 
Регистрация: 02.07.2015
Сообщений: 5
По умолчанию

Огромное вам спасибо!!! Только вот у меня такой вопрос! Как сделать так, чтобы при выполнении данной программы итог выводился на один и тот же лист, а не каждый раз на новый? С меня благодарность)))
LyubashaSemenova вне форума Ответить с цитированием
Старый 02.07.2015, 16:36   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

по какому признаку этот "один и тот же" лист отличить от остальных?

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

Последний раз редактировалось IgorGO; 02.07.2015 в 16:43.
IgorGO вне форума Ответить с цитированием
Старый 02.07.2015, 16:46   #7
LyubashaSemenova
 
Регистрация: 02.07.2015
Сообщений: 5
По умолчанию

Еще вопрос такой...Должна выводится на новый лист не вся строка, а только определенные ячейки, выделены голубым цветом во вложении, не вся строка... Как это сделать? Пример во вложении
Изображения
Тип файла: jpg Безымянный.jpg (52.9 Кб, 150 просмотров)
LyubashaSemenova вне форума Ответить с цитированием
Старый 03.07.2015, 06:49   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

На мой взгляд, лучше сделать форму с ComboBox-ом, из которого выбирать требуемое (из сформированного списка уникальных значений столбца) значение. А макросом реализовать расширенный фильтр с выводом результата на другой лист без всяких поисков и циклов. Затем удалить "лишние" данные. Будет и проще и быстрее.
Если такое решение Вас интересует, прикрепите xls-файл с данными и подробно опишите задачу. Если информация секретная, то значения в таблице можно заменить на яблоки и груши. Достаточно несколько строк...
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 03.07.2015, 13:12   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие панелей в строго определенном месте tae1980 Microsoft Office Excel 1 02.01.2012 21:40
отобразить png в определенном месте TImage rokotokobot Мультимедиа в Delphi 1 27.03.2011 18:49
Как имитировать клик мыши в определенном месте в браузере iukash Qt и кроссплатформенное программирование С/С++ 5 17.02.2011 15:28
создать файл в определенном месте DeDoK Помощь студентам 1 21.05.2010 00:00
Клик в определенном месте страницы Qami Работа с сетью в Delphi 5 11.04.2010 15:08