Format() и Текст(), преобразовать дату в "М/Д/ГГГГ;@"
Волхв
Дата: Воскресенье, 27.03.2016, 15:31 |
Сообщение № 1
Группа: Заблокированные
Ранг: Участник
Сообщений: 70
Репутация:
3
±
Замечаний:
100% ±
Excel 2010
Добрый день. Хочу в коде сделать аналог =ТЕКСТ(A2;"М/Д/ГГГГ;@") На VBA это a = Format(x, "M/D/YYYY;@") но возвращает через точку пояснения: есть 20.02.2016 нужно преобразовать в 02/20/2016 (фильтр умной таблице иначе не понимает) вот мои наброски [vba]Код
Sub t() Dim a As String 'a = ActiveCell.Value x = ActiveCell.Value a = Format(x, "M/D/YYYY;@") MsgBox a 'ThisWorkbook.Sheets("Лист1").ListObjects("Таблица5").Range.AutoFilter Field:=6, Criteria1:= _ Array("="), Operator:=xlFilterValues, Criteria2:=Array(2, a) ' ThisWorkbook.Sheets("Лист1").ListObjects("Таблица5").Range.AutoFilter Field:=6, Criteria1:= _ Array("="), Operator:=xlFilterValues, Criteria2:=Array(2, "4/10/2016") End Sub
[/vba]
Добрый день. Хочу в коде сделать аналог =ТЕКСТ(A2;"М/Д/ГГГГ;@") На VBA это a = Format(x, "M/D/YYYY;@") но возвращает через точку пояснения: есть 20.02.2016 нужно преобразовать в 02/20/2016 (фильтр умной таблице иначе не понимает) вот мои наброски [vba]Код
Sub t() Dim a As String 'a = ActiveCell.Value x = ActiveCell.Value a = Format(x, "M/D/YYYY;@") MsgBox a 'ThisWorkbook.Sheets("Лист1").ListObjects("Таблица5").Range.AutoFilter Field:=6, Criteria1:= _ Array("="), Operator:=xlFilterValues, Criteria2:=Array(2, a) ' ThisWorkbook.Sheets("Лист1").ListObjects("Таблица5").Range.AutoFilter Field:=6, Criteria1:= _ Array("="), Operator:=xlFilterValues, Criteria2:=Array(2, "4/10/2016") End Sub
[/vba] Волхв
Плодить темы - это вообще-то предназначение форума ©Serge_007 админа
Ответить
Сообщение Добрый день. Хочу в коде сделать аналог =ТЕКСТ(A2;"М/Д/ГГГГ;@") На VBA это a = Format(x, "M/D/YYYY;@") но возвращает через точку пояснения: есть 20.02.2016 нужно преобразовать в 02/20/2016 (фильтр умной таблице иначе не понимает) вот мои наброски [vba]Код
Sub t() Dim a As String 'a = ActiveCell.Value x = ActiveCell.Value a = Format(x, "M/D/YYYY;@") MsgBox a 'ThisWorkbook.Sheets("Лист1").ListObjects("Таблица5").Range.AutoFilter Field:=6, Criteria1:= _ Array("="), Operator:=xlFilterValues, Criteria2:=Array(2, a) ' ThisWorkbook.Sheets("Лист1").ListObjects("Таблица5").Range.AutoFilter Field:=6, Criteria1:= _ Array("="), Operator:=xlFilterValues, Criteria2:=Array(2, "4/10/2016") End Sub
[/vba] Автор - Волхв Дата добавления - 27.03.2016 в 15:31
StoTisteg
Дата: Воскресенье, 27.03.2016, 15:50 |
Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация:
103
±
Замечаний:
0% ±
Excel 2010
есть 20.02.2016 нужно преобразовать в 02/20/2016
Ну и преобразуйте: [vba]Код
Cells(2, 1).Value = Replace(Cells(2, 1).Value, ".", "/", 1, -1, vbTextCompare)
[/vba]
есть 20.02.2016 нужно преобразовать в 02/20/2016
Ну и преобразуйте: [vba]Код
Cells(2, 1).Value = Replace(Cells(2, 1).Value, ".", "/", 1, -1, vbTextCompare)
[/vba]StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Ответить
Сообщение есть 20.02.2016 нужно преобразовать в 02/20/2016
Ну и преобразуйте: [vba]Код
Cells(2, 1).Value = Replace(Cells(2, 1).Value, ".", "/", 1, -1, vbTextCompare)
[/vba]Автор - StoTisteg Дата добавления - 27.03.2016 в 15:50
Волхв
Дата: Воскресенье, 27.03.2016, 16:21 |
Сообщение № 3
Группа: Заблокированные
Ранг: Участник
Сообщений: 70
Репутация:
3
±
Замечаний:
100% ±
Excel 2010
StoTisteg , спасибо, в моем случае еще месяц с днем местами менять надо это выглидит так [vba]Код
a = Replace(Format(ActiveCell.Value, "M/D/YYYY;@"), ".", "/")
[/vba]
StoTisteg , спасибо, в моем случае еще месяц с днем местами менять надо это выглидит так [vba]Код
a = Replace(Format(ActiveCell.Value, "M/D/YYYY;@"), ".", "/")
[/vba]Волхв
Плодить темы - это вообще-то предназначение форума ©Serge_007 админа
Ответить
Сообщение StoTisteg , спасибо, в моем случае еще месяц с днем местами менять надо это выглидит так [vba]Код
a = Replace(Format(ActiveCell.Value, "M/D/YYYY;@"), ".", "/")
[/vba]Автор - Волхв Дата добавления - 27.03.2016 в 16:21
StoTisteg
Дата: Воскресенье, 27.03.2016, 16:23 |
Сообщение № 4
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация:
103
±
Замечаний:
0% ±
Excel 2010
Ну да. Пардон. Слона-то я и не приметил...
Ну да. Пардон. Слона-то я и не приметил... StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Ответить
Сообщение Ну да. Пардон. Слона-то я и не приметил... Автор - StoTisteg Дата добавления - 27.03.2016 в 16:23
KuklP
Дата: Воскресенье, 27.03.2016, 16:40 |
Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Попробуйте: [vba]Код
ActiveSheet.ListObjects("Таблица5").Range.AutoFilter 6, Format([a2], "DD.mmm")
[/vba]
Попробуйте: [vba]Код
ActiveSheet.ListObjects("Таблица5").Range.AutoFilter 6, Format([a2], "DD.mmm")
[/vba] KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Попробуйте: [vba]Код
ActiveSheet.ListObjects("Таблица5").Range.AutoFilter 6, Format([a2], "DD.mmm")
[/vba] Автор - KuklP Дата добавления - 27.03.2016 в 16:40
Волхв
Дата: Воскресенье, 27.03.2016, 16:48 |
Сообщение № 6
Группа: Заблокированные
Ранг: Участник
Сообщений: 70
Репутация:
3
±
Замечаний:
100% ±
Excel 2010
KuklP , года не различает, если есть разные года с такой датой он их все открывает
KuklP , года не различает, если есть разные года с такой датой он их все открываетВолхв
Плодить темы - это вообще-то предназначение форума ©Serge_007 админа
Ответить
Сообщение KuklP , года не различает, если есть разные года с такой датой он их все открываетАвтор - Волхв Дата добавления - 27.03.2016 в 16:48
KuklP
Дата: Воскресенье, 27.03.2016, 17:10 |
Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
А какой тогда смысл обрезать даты в таблице до дд.ммм? Отформатируйте как нормальная дата, как в А2 и тогда будет:Код
ActiveSheet.ListObjects("Таблица5").Range.AutoFilter 6, [a2].Text
Не, дело Ваше конечно, мож начальство так требует... Просто о стороны это выглядит как: "мы легких путей не ищем".
А какой тогда смысл обрезать даты в таблице до дд.ммм? Отформатируйте как нормальная дата, как в А2 и тогда будет:Код
ActiveSheet.ListObjects("Таблица5").Range.AutoFilter 6, [a2].Text
Не, дело Ваше конечно, мож начальство так требует... Просто о стороны это выглядит как: "мы легких путей не ищем". KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение А какой тогда смысл обрезать даты в таблице до дд.ммм? Отформатируйте как нормальная дата, как в А2 и тогда будет:Код
ActiveSheet.ListObjects("Таблица5").Range.AutoFilter 6, [a2].Text
Не, дело Ваше конечно, мож начальство так требует... Просто о стороны это выглядит как: "мы легких путей не ищем". Автор - KuklP Дата добавления - 27.03.2016 в 17:10
_Boroda_
Дата: Воскресенье, 27.03.2016, 17:19 |
Сообщение № 8
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация:
6478
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Вот так вроде работает. Топчете розовую дату и жмете кнопку. [vba]Код
x = ActiveCell.Value a = Format(x, "M\/D\/YYYY") ActiveSheet.ListObjects("Таблица5").Range.AutoFilter Field:=6, Operator:= _ xlFilterValues, Criteria2:=Array(2, a)
[/vba] В столбце 8 значения для проверки года
Вот так вроде работает. Топчете розовую дату и жмете кнопку. [vba]Код
x = ActiveCell.Value a = Format(x, "M\/D\/YYYY") ActiveSheet.ListObjects("Таблица5").Range.AutoFilter Field:=6, Operator:= _ xlFilterValues, Criteria2:=Array(2, a)
[/vba] В столбце 8 значения для проверки года _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Вот так вроде работает. Топчете розовую дату и жмете кнопку. [vba]Код
x = ActiveCell.Value a = Format(x, "M\/D\/YYYY") ActiveSheet.ListObjects("Таблица5").Range.AutoFilter Field:=6, Operator:= _ xlFilterValues, Criteria2:=Array(2, a)
[/vba] В столбце 8 значения для проверки года Автор - _Boroda_ Дата добавления - 27.03.2016 в 17:19
StoTisteg
Дата: Воскресенье, 27.03.2016, 17:19 |
Сообщение № 9
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация:
103
±
Замечаний:
0% ±
Excel 2010
[offtop]мож начальство так требует...
А Вы ни разу не пробовали объяснить человеку, привыкшему к ДД.ММ.ГГГГ, что 03/05/2016 — это теперь 5 марта или наоборот?
[offtop]мож начальство так требует...
А Вы ни разу не пробовали объяснить человеку, привыкшему к ДД.ММ.ГГГГ, что 03/05/2016 — это теперь 5 марта или наоборот? StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Ответить
Сообщение [offtop]мож начальство так требует...
А Вы ни разу не пробовали объяснить человеку, привыкшему к ДД.ММ.ГГГГ, что 03/05/2016 — это теперь 5 марта или наоборот? Автор - StoTisteg Дата добавления - 27.03.2016 в 17:19
Волхв
Дата: Воскресенье, 27.03.2016, 17:27 |
Сообщение № 10
Группа: Заблокированные
Ранг: Участник
Сообщений: 70
Репутация:
3
±
Замечаний:
100% ±
Excel 2010
a = Format(x, "M\/D\/YYYY")
вот оно. впервые вижу тип \ / в этом и была загвоздка
a = Format(x, "M\/D\/YYYY")
вот оно. впервые вижу тип \ / в этом и была загвоздкаВолхв
Плодить темы - это вообще-то предназначение форума ©Serge_007 админа
Ответить
Сообщение a = Format(x, "M\/D\/YYYY")
вот оно. впервые вижу тип \ / в этом и была загвоздкаАвтор - Волхв Дата добавления - 27.03.2016 в 17:27