Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Оставить в массиве данные, удовлетворяющие условию по дате - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Оставить в массиве данные, удовлетворяющие условию по дате (Макросы/Sub)
Оставить в массиве данные, удовлетворяющие условию по дате
akobir Дата: Воскресенье, 20.12.2015, 16:09 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 201
Репутация: 9 ±
Замечаний: 0% ±

Excel 2010
Добрый день!

Очередная проблема с массивами.
Есть массив с данными. Нужно оставить значения, которые удовлетворяют условия по дате от определенной и до определенной.

Не могу разобраться самостоятельно. :(

Буду признателен!
К сообщению приложен файл: 1876901.xlsx (16.7 Kb)


e-mail: akobir.ismailov@gmail.com
 
Ответить
СообщениеДобрый день!

Очередная проблема с массивами.
Есть массив с данными. Нужно оставить значения, которые удовлетворяют условия по дате от определенной и до определенной.

Не могу разобраться самостоятельно. :(

Буду признателен!

Автор - akobir
Дата добавления - 20.12.2015 в 16:09
Michael_S Дата: Воскресенье, 20.12.2015, 16:13 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
akobir, вы б, кроме списка дат, показали в примере что и где вам нужно получить.
В общем случае есть фильтр по дате - "между"
 
Ответить
Сообщениеakobir, вы б, кроме списка дат, показали в примере что и где вам нужно получить.
В общем случае есть фильтр по дате - "между"

Автор - Michael_S
Дата добавления - 20.12.2015 в 16:13
Udik Дата: Воскресенье, 20.12.2015, 16:42 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Без примера, например так:
Код
=ЕСЛИ((A2>=G2)*(A2<=H2);"V1";"")
К сообщению приложен файл: 4804970.xlsx (19.6 Kb)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеБез примера, например так:
Код
=ЕСЛИ((A2>=G2)*(A2<=H2);"V1";"")

Автор - Udik
Дата добавления - 20.12.2015 в 16:42
akobir Дата: Воскресенье, 20.12.2015, 16:56 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 201
Репутация: 9 ±
Замечаний: 0% ±

Excel 2010
Michael_S, Udik, мне нужно программно.
Получить нужно список дат в определенном диапазоне.

[vba]
Код
ThisWorkbook.Sheets("Данные").Range("$A$1:" & lastcell).AutoFilter Field:=8, Criteria1:= _
">=" & data1, Operator:=xlAnd, Criteria2:="<=" & data2
[/vba]
Вот этот фрагмент кода не желает работать ни в какую.


e-mail: akobir.ismailov@gmail.com

Сообщение отредактировал akobir - Воскресенье, 20.12.2015, 16:57
 
Ответить
СообщениеMichael_S, Udik, мне нужно программно.
Получить нужно список дат в определенном диапазоне.

[vba]
Код
ThisWorkbook.Sheets("Данные").Range("$A$1:" & lastcell).AutoFilter Field:=8, Criteria1:= _
">=" & data1, Operator:=xlAnd, Criteria2:="<=" & data2
[/vba]
Вот этот фрагмент кода не желает работать ни в какую.

Автор - akobir
Дата добавления - 20.12.2015 в 16:56
Michael_S Дата: Воскресенье, 20.12.2015, 17:08 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
мне нужно программно.
Для этого файл выкладывают в формате .xlsm, вместе с кодом, который не работает.
 
Ответить
Сообщение
мне нужно программно.
Для этого файл выкладывают в формате .xlsm, вместе с кодом, который не работает.

Автор - Michael_S
Дата добавления - 20.12.2015 в 17:08
akobir Дата: Воскресенье, 20.12.2015, 17:19 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 201
Репутация: 9 ±
Замечаний: 0% ±

Excel 2010
Michael_S,
Прикладываю файл в формате хlsm с неработающим кодом.
К сообщению приложен файл: 6038718.xlsm (23.7 Kb)


e-mail: akobir.ismailov@gmail.com
 
Ответить
СообщениеMichael_S,
Прикладываю файл в формате хlsm с неработающим кодом.

Автор - akobir
Дата добавления - 20.12.2015 в 17:19
Wasilich Дата: Воскресенье, 20.12.2015, 17:57 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Для этого файл выкладывают в формате .xlsm

Прикладываю файл в формате хlsm
Вообще то, по правилам форума, в интересах ТС, желательно выкладывать в формате "xls". :)


Сообщение отредактировал Wasilic - Воскресенье, 20.12.2015, 18:01
 
Ответить
Сообщение
Для этого файл выкладывают в формате .xlsm

Прикладываю файл в формате хlsm
Вообще то, по правилам форума, в интересах ТС, желательно выкладывать в формате "xls". :)

Автор - Wasilich
Дата добавления - 20.12.2015 в 17:57
Michael_S Дата: Воскресенье, 20.12.2015, 18:09 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
[vba]
Код
Data1 = "03/01/2013" 'формат - "MM/DD/YYYY" или "MM/DD/YY"
Data2 = "04/01/2013"
[/vba]
 
Ответить
Сообщение[vba]
Код
Data1 = "03/01/2013" 'формат - "MM/DD/YYYY" или "MM/DD/YY"
Data2 = "04/01/2013"
[/vba]

Автор - Michael_S
Дата добавления - 20.12.2015 в 18:09
akobir Дата: Воскресенье, 20.12.2015, 18:14 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 201
Репутация: 9 ±
Замечаний: 0% ±

Excel 2010
Michael_S, Не работает. Фильтр отображает пустоту. Если сделать через Excel, то есть просто тыкнуть на автофильтр и нажать ок - все показывает правильно. А макросом - пустоту.


e-mail: akobir.ismailov@gmail.com
 
Ответить
СообщениеMichael_S, Не работает. Фильтр отображает пустоту. Если сделать через Excel, то есть просто тыкнуть на автофильтр и нажать ок - все показывает правильно. А макросом - пустоту.

Автор - akobir
Дата добавления - 20.12.2015 в 18:14
Michael_S Дата: Воскресенье, 20.12.2015, 18:26 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
У меня работает
К сообщению приложен файл: akobir.xlsm (27.2 Kb)
 
Ответить
СообщениеУ меня работает

Автор - Michael_S
Дата добавления - 20.12.2015 в 18:26
akobir Дата: Воскресенье, 20.12.2015, 18:40 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 201
Репутация: 9 ±
Замечаний: 0% ±

Excel 2010
Michael_S, Странно. Код слово в слово и ничего. :(


e-mail: akobir.ismailov@gmail.com
 
Ответить
СообщениеMichael_S, Странно. Код слово в слово и ничего. :(

Автор - akobir
Дата добавления - 20.12.2015 в 18:40
Wasilich Дата: Воскресенье, 20.12.2015, 18:50 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Может так надо?
К сообщению приложен файл: akobir.xls (70.0 Kb)
 
Ответить
СообщениеМожет так надо?

Автор - Wasilich
Дата добавления - 20.12.2015 в 18:50
Michael_S Дата: Воскресенье, 20.12.2015, 19:04 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
akobir, а мой файл работает?
 
Ответить
Сообщениеakobir, а мой файл работает?

Автор - Michael_S
Дата добавления - 20.12.2015 в 19:04
Wasilich Дата: Воскресенье, 20.12.2015, 19:18 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
а мой файл работает?
У меня все скрывает.
Вот наковырял, так работает
[vba]
Код
ActiveSheet.Range("$A$1:$A$1042").AutoFilter Field:=1, Criteria1:= _
            ">=" & Replace(CDbl(CDate("01.01.2007")), ",", "."), _
            Operator:=xlAnd, Criteria2:="<=" & _
            Replace(CDbl(CDate("31.12.2007")), ",", ".")
[/vba]


Сообщение отредактировал Wasilic - Воскресенье, 20.12.2015, 20:04
 
Ответить
Сообщение
а мой файл работает?
У меня все скрывает.
Вот наковырял, так работает
[vba]
Код
ActiveSheet.Range("$A$1:$A$1042").AutoFilter Field:=1, Criteria1:= _
            ">=" & Replace(CDbl(CDate("01.01.2007")), ",", "."), _
            Operator:=xlAnd, Criteria2:="<=" & _
            Replace(CDbl(CDate("31.12.2007")), ",", ".")
[/vba]

Автор - Wasilich
Дата добавления - 20.12.2015 в 19:18
Kuzmich Дата: Воскресенье, 20.12.2015, 19:54 | Сообщение № 15
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Подозреваю, что ошибка здесь
[vba]
Код
ThisWorkbook.Sheets("Данные").Range("$A$1:" & lastcell)
[/vba]
Надо
[vba]
Код
ThisWorkbook.Sheets("Данные").Range("$A$1:A" & lastcell)
[/vba]
 
Ответить
СообщениеПодозреваю, что ошибка здесь
[vba]
Код
ThisWorkbook.Sheets("Данные").Range("$A$1:" & lastcell)
[/vba]
Надо
[vba]
Код
ThisWorkbook.Sheets("Данные").Range("$A$1:A" & lastcell)
[/vba]

Автор - Kuzmich
Дата добавления - 20.12.2015 в 19:54
Kuzmich Дата: Воскресенье, 20.12.2015, 20:13 | Сообщение № 16
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Wasilic
01.01.2007 - это ведь и есть дата , тогда зачем CDate?
Запятую менять на точку, это если дата с временем
 
Ответить
СообщениеWasilic
01.01.2007 - это ведь и есть дата , тогда зачем CDate?
Запятую менять на точку, это если дата с временем

Автор - Kuzmich
Дата добавления - 20.12.2015 в 20:13
akobir Дата: Воскресенье, 20.12.2015, 23:40 | Сообщение № 17
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 201
Репутация: 9 ±
Замечаний: 0% ±

Excel 2010
Kuzmich, lastcell - адрес последней ячейки. Он может быть не А.
Michael_S, Да, все работает.


e-mail: akobir.ismailov@gmail.com
 
Ответить
СообщениеKuzmich, lastcell - адрес последней ячейки. Он может быть не А.
Michael_S, Да, все работает.

Автор - akobir
Дата добавления - 20.12.2015 в 23:40
Wasilich Дата: Понедельник, 21.12.2015, 00:01 | Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Wasilic
01.01.2007 - это ведь и есть дата , тогда зачем CDate?
Запятую менять на точку, это если дата с временем
:) Написал же, наковырял, подставил, работает, выложил, может поможет!
В подробности не вникал.
 
Ответить
Сообщение
Wasilic
01.01.2007 - это ведь и есть дата , тогда зачем CDate?
Запятую менять на точку, это если дата с временем
:) Написал же, наковырял, подставил, работает, выложил, может поможет!
В подробности не вникал.

Автор - Wasilich
Дата добавления - 21.12.2015 в 00:01
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Оставить в массиве данные, удовлетворяющие условию по дате (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!