Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выборка строк в Excel / 21 сообщений из 21, страница 1 из 1
13.04.2005, 13:47
    #33013301
Sigizmund-8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Подскажите как можно с помощью цикла выбрать строки по первому столбцу и скопировать их, допустим в Лист2, я с запарами на работе чёто тупить
начал :(
Есть таблица:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
москва	 56 	ввв
москва	 42 	ппп
питер	 54 	рол
ростов	 23 	кен
питер	 48 	вук
москва	 98 	пир
москва	 78 	рот
ростов	 35 	рог
ростов	 48 	куц
ростов	 222 	фыц
питер	 444 	яву
питер	 888 	сам
ростов	 999 	пим
Нужно выбрать записи, которым соответствует допустим запись "ростов" и закинуть результат в Лист2 для дальнейшей работы.
Если ответ прост, не злитесь, но у меня сейчас тяжелое время.
Заранее благодарен за ответ!
...
Рейтинг: 0 / 0
13.04.2005, 14:42
    #33013499
funddd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Автофильтр не поможет?
...
Рейтинг: 0 / 0
13.04.2005, 15:58
    #33013786
Sigizmund-8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Допустим я выбрал автофильтром данные, как я могу скопировать их в другой лист
Код: plaintext
1.
2.
Range("A1:C1").Select
Selection.AutoFilter
Selection.AutoFilter Field:= 1 , Criteria1:="Ростов"
что нужно написать дальше?
...
Рейтинг: 0 / 0
13.04.2005, 16:27
    #33013911
kanalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Скажем так:
см. картинку.
1. Создаешь отдельно список городов,
2. Создаешь комбобокс,
3. Вешаешь на него такую вот процедурку:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Public Sub RangeCopy()
    Dim sRange, S As String

    sRange = ""
    S = Application.WorksheetFunction.VLookup(Range("E3"), Range("I3:J5"),  2 )
    i =  1 
    While Range("A" & i).Text <> ""
        If Trim(Range("A" & i).Value) = S Then
            If sRange <> "" Then
                sRange = sRange & "," & "A" & i & ":" & "C" & i
            Else
                sRange = "A" & i & ":" & "C" & i
            End If
        End If
        i = i +  1 
    Wend
    If sRange <> "" Then
        Range(sRange).Select
        Selection.Copy
        Sheets("Ëèñò2").Select
        Range("A1").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
    End If
End Sub
...
Рейтинг: 0 / 0
13.04.2005, 16:41
    #33013977
Sigizmund-8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
У меня такая ситуация. Открывается три книги, в одной книге надо отобрать строки , допустим "Ростов"... и "Москва"... (точки остальные поля в этой строке) и другие города с другого файла и поместить их в третий документ. Два файла из которых я беру данные никак не должны меняться, мне надо лишь взять из них данные, то есть комбобокс не подойдёт. Потом уже когда данные перенесутся в третью книгу, будет идти дальнейшая обработка данных, но там проблем нет, главное выбрать данные из первых двух книг
...
Рейтинг: 0 / 0
13.04.2005, 16:59
    #33014049
Sigizmund-8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Да, добавлю. Дело в том, что это ежедневный отчёт и просто отсортировать по городам и скопировать диапазон не получится. Данные поступают каждый день и количество записей для одного города может меняться. Количество городов определено и меняться не будет, допустим их 5. На сколько я понимаю, тут необходим цикл, который бы находил все записи по городу и копировал в Лист2. Помогите написать цикл для одного города плиз!
...
Рейтинг: 0 / 0
13.04.2005, 17:10
    #33014096
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Sigizmund-8Допустим я выбрал автофильтром данные, как я могу скопировать их в другой лист
Код: plaintext
1.
2.
Range("A1:C1").Select
Selection.AutoFilter
Selection.AutoFilter Field:= 1 , Criteria1:="Ростов"
что нужно написать дальше?
делаешь обход через for each iRange in ... и проверяешь и проверяшь св-во irange.entirerow.hidden
...
Рейтинг: 0 / 0
13.04.2005, 17:12
    #33014100
kanalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
так создайте этот комбобокс в 3-ей книге и берите данные из первых двух.
Нужно немного подправить процедурку, чтобы она выделяла дипазоны не в текущей книге, а в нужной Вам. Здесь уже трудно что-то советовать не видя.
На первый Ваш вопрос я ответил:)
...
Рейтинг: 0 / 0
13.04.2005, 17:14
    #33014110
kanalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
моя процедура и есть "цикл для одного города"
...
Рейтинг: 0 / 0
13.04.2005, 17:45
    #33014201
Sigizmund-8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
А что значит?
Код: plaintext
1.
Run-time error '1004':
Невозможно получить свойство VLookUp класса WorksheetFunction
...
Рейтинг: 0 / 0
13.04.2005, 17:56
    #33014252
kanalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Код: plaintext
S = Application.WorksheetFunction.VLookup(Range("E3"), Range("I3:J5"),  2 )
В этой строке определяется выбранный в комбобоксе город. Это VBA -аналог функции ВПР().
У Вас какой Excel? У меня ХР.
Если так не работает, то попробуйте другим образом передать параметр в процедуру. Можно прямо на листе определять город, выбранный в комбобоксе и потом из этой ячейки брать текстовое значение.
...
Рейтинг: 0 / 0
13.04.2005, 20:09
    #33014455
Sigizmund-8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Без обид, но комбобокс тут ни как не поможет, дело в том, что данные должны выбираться каждый день и на автомате, в ручную это не поможет, меня уже напрягают по этому поводу:(
P.S.У меня Office 2000
...
Рейтинг: 0 / 0
13.04.2005, 20:16
    #33014460
kanalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Sigizmund-8А что значит?
Код: plaintext
1.
Run-time error '1004':
Невозможно получить свойство VLookUp класса WorksheetFunction

Вы, скорее всего, не поменяли диапазоны в тексте процедуры.

S = Application.WorksheetFunction.VLookup(Range("E3"), Range("I3:J5"), 2)

Здесь: Range("I3:J5") - указывает на диапазон, в котором создан список городов.
Range("E3") - указывает на ячейку, с которой связан комбобокс.
2 - номер столбца в диапазоне Range("I3:J5").

Все соответсвует рисунку из моего прошлого сообщения.

Sigizmund-8
Без обид, но комбобокс тут ни как не поможет, дело в том, что данные должны выбираться каждый день и на автомате, в ручную это не поможет, меня уже напрягают по этому поводу:(
P.S.У меня Office 2000


Да и хрен с ним с комбобоксом.
Придумайте другой способ передать параметр в процедуру.
Собственно, основной цикл реализует то, что Вам нужно...
Или я чего-то не понимаю:)
...
Рейтинг: 0 / 0
13.04.2005, 20:38
    #33014486
Sigizmund-8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
А что значит?
Код: plaintext
1.
Run-time error '1004':
Невозможно получить свойство VLookUp класса WorksheetFunction
...
Рейтинг: 0 / 0
13.04.2005, 20:45
    #33014493
kanalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Sigizmund-8А что значит?
Код: plaintext
1.
Run-time error '1004':
Невозможно получить свойство VLookUp класса WorksheetFunction

я же писал:
kanalex
Вы, скорее всего, не поменяли диапазоны в тексте процедуры.

S = Application.WorksheetFunction.VLookup(Range("E3"), Range("I3:J5"), 2)

Здесь: Range("I3:J5") - указывает на диапазон, в котором создан список городов.
Range("E3") - указывает на ячейку, с которой связан комбобокс.
2 - номер столбца в диапазоне Range("I3:J5").

Все соответсвует рисунку из моего прошлого сообщения.


^)
...
Рейтинг: 0 / 0
13.04.2005, 21:52
    #33014551
Sigizmund-8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Kanalex., Вы вроде парень умный... обьясните мне по пальцам, что к чему? Ya Ploho SoobraZhayu po inomu
...
Рейтинг: 0 / 0
13.04.2005, 22:30
    #33014588
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Sigizmund-8, а чем вам "Advanced Filter", или как он там по русски, не устраивает?

Делаешь таблицу своих городов обязательно с заголовком:

город номер текст
москва 56 ввв
москва 42 ппп
.....

Потом в другом месте делаешь таблицу критерия:
город номер текст
ростов
В первой строке ТОЧНО ТАКОЙ-ЖЕ заголовок как у исходной таблицы. Во второй строке указывешь то, что нужно отбирать.

Теперь идешь в главном меню, Data (Данные), Filter (Фильтр), самый нижний пункт будет Advanced Filter (Расширеный фильтр, наверное). Получаешь диалог. В нем выбираешь что хочешь копировать выборку в новое место. В первом поле выбираешь исходную таблицу (вместе с заголовком). Во втором поле выбираешь табличку критериев. В третьем указываешь куда надо копировать. Все три области могут находится как на одном листе, так и на двух, трех и хоть в разных книгах. Жмем Ok и получаем то что хотели.

На VBA это все выглядит так:
Sheets("Sheet1").Range("SourceRange").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("CriteriaRange"), CopyToRange:=Range("DestinationRange"), Unique:=False
Одна команда и ваши волосы будут шелковисты :)
...
Рейтинг: 0 / 0
14.04.2005, 10:16
    #33015034
kanalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Sigizmund-8Kanalex., Вы вроде парень умный... обьясните мне по пальцам, что к чему? Ya Ploho SoobraZhayu po inomu
Давайте Вы еще раз сформулируете задачу поточнее. А то я отвечаю на один вопрос, а Вам оказывается нужно совсем другое.
Укажите все что Вам нужно: и три книги, и нужный уровень автоматизации, и пр. И хорошо бы примерчик.
Тогда можно будет о чем-то говорить.
...
Рейтинг: 0 / 0
14.04.2005, 11:36
    #33015318
Sigizmund-8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Есть три открытые книги:
Код: plaintext
1.
2.
Workbooks.Open Filename:="C:\tmp\Шаблон.xls"
Workbooks.Open Filename:="\\сервер\файл1.xls" ' откуда берутся данные
Workbooks.Open Filename:="\\сервер\файл2.xls" ' откуда берутся данные
Привожу реальные данные(кусок):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Program category	Date	         Weekday	TVCompany							
Ежедневные новости	 11 . 04 . 2005 	Понедельник	ПЕРВЫЙ КАНАЛ (МОСКВА)	
Ежедневные новости	 11 . 04 . 2005 	Понедельник	РОССИЯ (МОСКВА)	Местное время.	
Ежедневные новости	 11 . 04 . 2005 	Понедельник	РОССИЯ (МОСКВА)	Вести. 
Ежедневные новости	 11 . 04 . 2005 	Понедельник	НТВ (МОСКВА)	Сегодня вечером ( 22 : 00 )
Кинофильм	 11 . 04 . 2005 	Понедельник	СТС (МОСКВА)
Кинофильм	 11 . 04 . 2005 	Понедельник	ПЕРВЫЙ КАНАЛ (МОСКВА)
Кинофильм	 11 . 04 . 2005 	Понедельник	ПЕРВЫЙ КАНАЛ (МОСКВА)
Кинофильм	 11 . 04 . 2005 	Понедельник	РОССИЯ (МОСКВА)
Кинофильм	 11 . 04 . 2005 	Понедельник	ТНТ (МОСКВА)

Телесериал	 11 . 04 . 2005 	Понедельник	РОССИЯ (МОСКВА)
Телесериал	 11 . 04 . 2005 	Понедельник	ПЕРВЫЙ КАНАЛ (МОСКВА)
Телесериал	 11 . 04 . 2005 	Понедельник	ПЕРВЫЙ КАНАЛ (МОСКВА)
Телесериал	 11 . 04 . 2005 	Понедельник	ПЕРВЫЙ КАНАЛ (МОСКВА)
Телесериал	 11 . 04 . 2005 	Понедельник	РОССИЯ (МОСКВА)
Телесериал	 11 . 04 . 2005 	Понедельник	РОССИЯ (МОСКВА)

Далее идёт рейтинг и т.д.
Мне нужно выбрать строки, допустим "Телесериал" и скопировать в Шаблон.xls (Лист2), я делал без цикла, просто выделял диапазон и копировал программно в нужный мне лист, но количество записей по "Телесериал" (и по другим категориям) может меняться. Надо выбрать строки, где встречается слово, допустим "Телесериал" и скопировать в Лист2. Для одного дня, при выборе по ячейкам (Range) всё замечательно, но для следующего дня количество передач поменялось и получилась полная ахинея :(
Для всех категорий я сделал модули, где идёт работа с выбранными данными, потом их вызываю в главном, получается для каждой категории еужна выборка
Хочу сказать, что этот процесс будет в дальнейшем идти на автомате, то есть ежедневно и без участия пользователя, главное правильно написать код
P.S. Потом идёт сортировка по мах рейтингу и выбирается определенное количество записей по рейтингу, но в этом проблем нет
...
Рейтинг: 0 / 0
14.04.2005, 13:39
    #33015837
kanalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
давайте в привате пообщаемся...
моя аська в Вашем почтовом ящике.
...
Рейтинг: 0 / 0
18.04.2005, 15:56
    #33021484
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка строк в Excel
Sigizmund-8Допустим я выбрал автофильтром данные, как я могу скопировать их в другой лист...
Отфильтрованные данные копируются на другой лист
То, почему этот лист называется Stepler, следует из контекста... :-)
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выборка строк в Excel / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]