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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2009, 14:34   #1
Dastoff
Пользователь
 
Регистрация: 12.02.2009
Сообщений: 23
По умолчанию Вставка списка в отфильтрованный список

Кто нибудь в курсе как вставить в отфильтрованный список значения так, чтобы значения вставлялись в отмеченные в отфильтрованном списке ячейки.
То есть, у меня есть два листа. в первом список отфильтрован так, что отображает только те ячейки которые надо изменить (более 1000). При вставке из другого листа эксел бросает значения и в скрытые ячейки.
Dastoff вне форума Ответить с цитированием
Старый 03.03.2009, 14:39   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Используйте пересечение нужного и "видимого", т.е. отфильтрованного диапазонов (Intersect). Например
Код:
Set x = Intersect(Columns("A"), ActiveSheet.UsedRange.Cells.SpecialCells(xlCellTypeVisible))
Или еще проще:
Код:
Set x = Columns("A").Cells.SpecialCells(xlCellTypeLastCell)
Затем, в этот диапазон вставляйте данные.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 03.03.2009 в 14:42.
SAS888 вне форума Ответить с цитированием
Старый 03.03.2009, 14:51   #3
Dastoff
Пользователь
 
Регистрация: 12.02.2009
Сообщений: 23
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Используйте пересечение нужного и "видимого", т.е. отфильтрованного диапазонов (Intersect). Например
Код:
Set x = Intersect(Columns("A"), ActiveSheet.UsedRange.Cells.SpecialCells(xlCellTypeVisible))
Или еще проще:
Код:
Set x = Columns("A").Cells.SpecialCells(xlCellTypeLastCell)
Затем, в этот диапазон вставляйте данные.
Я не совсем понял как это использовать. можно ли поподробнее. я с макросами не сталкивался (если речь идет о макросах).
Dastoff вне форума Ответить с цитированием
Старый 03.03.2009, 14:58   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Дайте, для примера, какую-нибудь конкретную задачу - получите конкретный ответ.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 03.03.2009, 15:10   #5
Dastoff
Пользователь
 
Регистрация: 12.02.2009
Сообщений: 23
По умолчанию

Вот пример, нужно заменить "старые значения" на "новые значения" в отфильтрованном списке. Под "старыми значениями" подразумеваются названия организаций, то же и под "новыми значениями"
Вложения
Тип файла: rar для примера.rar (3.7 Кб, 51 просмотров)
Dastoff вне форума Ответить с цитированием
Старый 04.03.2009, 01:45   #6
IFRSoff
Заблокирован
 
Регистрация: 23.02.2009
Сообщений: 306
По умолчанию

Это делается путем команды "Выделить видимые ячейки". Данную команду можно вызвать путем добавления её нв панель инструментов (Вид-Панель инструментов-Настройка-Команды-Категория Правка-перетащите значок команды на панель инструментов). После того, как данная команда добавлена, вы можете осуществить вставку только в видимую область

Последний раз редактировалось IFRSoff; 04.03.2009 в 11:20.
IFRSoff вне форума Ответить с цитированием
Старый 04.03.2009, 09:13   #7
Dastoff
Пользователь
 
Регистрация: 12.02.2009
Сообщений: 23
По умолчанию

Цитата:
Сообщение от IFRSoff Посмотреть сообщение
Это делается путем команды "Выделить видимые ячейки". Данную команду можно вызвать путем добавления её нв панель инструментов (Вид-Панель инструментов-Настройка-Команды-Категория Правка). После того, как данная команда добавлена. Вы можете осуществить вставку только в видимую область
а как эта команда работает?
Dastoff вне форума Ответить с цитированием
Старый 04.03.2009, 11:16   #8
IFRSoff
Заблокирован
 
Регистрация: 23.02.2009
Сообщений: 306
По умолчанию

Просто перед те как вставить, выделите необходимую отфильтрованную область, затем нажмите вынесенную кнопку, а далее вставьте фрагмент из буфера обмена.
IFRSoff вне форума Ответить с цитированием
Старый 04.03.2009, 16:45   #9
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

IFRSoff
Ваш вариант (ALT+Ж -быстрые клавиши для выделения видимых ячеек) подойдёт для вытаскивания данных из фильтр. списка,
но не наоборот.

Последний раз редактировалось ZORRO2005; 04.03.2009 в 16:47.
ZORRO2005 вне форума Ответить с цитированием
Старый 04.03.2009, 16:52   #10
IFRSoff
Заблокирован
 
Регистрация: 23.02.2009
Сообщений: 306
По умолчанию

Согласен. Вставить массив затруднительно. Но данный вариант работатет в том случае, если заменяемые данные в массиве одинаковы. Т.е. копируем одну ячейку и вставляем в видимую область. А если нужно заменить массив, то лучше отсортировать список и все.
IFRSoff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание списка с возможностью админить список! Kuzmichinishe PHP 5 04.11.2013 17:22
Как увеличить длинну выпадающего списка: ДАННЫЕ-ПРОВЕРКА-СПИСОК kay Microsoft Office Excel 3 10.02.2009 12:59
Данные-проверка-список (список на другом листе) Inbox Microsoft Office Excel 7 26.12.2008 01:43
Вставка эл-та в список после текущего !!!!! Общие вопросы C/C++ 1 07.12.2008 17:15
Сортировка списка... Arkuz Помощь студентам 2 11.05.2008 00:53