Добрый день. Может кто знает в чем секрет? или это просто мои пробелы в изучении VBA есть в выгружаемых данных дата в текстовом формате 2016-01-31 написал макрос [vba]
Код
Sub ДатаИзТекста()
' Сочетание клавиш: Ctrl+В ' With Selection .Value = CDate(.Value)
End With End Sub
[/vba] он стирает данные из ячейки а через промежуточную переменную все прекрасно меняет [vba]
Код
Sub ДатаИзТекста()
' Сочетание клавиш: Ctrl+В ' With Selection x = CDate(.Value) .Value = x End With End Sub
[/vba]
Добрый день. Может кто знает в чем секрет? или это просто мои пробелы в изучении VBA есть в выгружаемых данных дата в текстовом формате 2016-01-31 написал макрос [vba]
Код
Sub ДатаИзТекста()
' Сочетание клавиш: Ctrl+В ' With Selection .Value = CDate(.Value)
End With End Sub
[/vba] он стирает данные из ячейки а через промежуточную переменную все прекрасно меняет [vba]
Код
Sub ДатаИзТекста()
' Сочетание клавиш: Ctrl+В ' With Selection x = CDate(.Value) .Value = x End With End Sub
sboy, здравствуйте. Если Selection - это одна ячейка, у меня оба способа работают. А если нужно в нескольких ячейках преобразовать значения, то нужно пройтись по всем ячейкам: [vba]
Код
Sub ДатаИзТекста()
' Сочетание клавиш: Ctrl+В ' For Each cell In Selection With cell .Value = CDate(.Value) End With Next cell End Sub
[/vba]
Если не поможет, покажите кусочек выгруженных данных.
sboy, здравствуйте. Если Selection - это одна ячейка, у меня оба способа работают. А если нужно в нескольких ячейках преобразовать значения, то нужно пройтись по всем ячейкам: [vba]
Код
Sub ДатаИзТекста()
' Сочетание клавиш: Ctrl+В ' For Each cell In Selection With cell .Value = CDate(.Value) End With Next cell End Sub
[/vba]
Если не поможет, покажите кусочек выгруженных данных.Manyasha
В - русская, наверное? Запускать нужно на русской раскладке. На английской - ctrl+d - заполняет все выделенные ячейки первым значением, ну или тем, что выше на одну ячейку, если выделена только одна.
Если хотите, чтобы на любой раскладке работала, используйте метод OnKey
sboy,
Цитата
' Сочетание клавиш: Ctrl+В
В - русская, наверное? Запускать нужно на русской раскладке. На английской - ctrl+d - заполняет все выделенные ячейки первым значением, ну или тем, что выше на одну ячейку, если выделена только одна.
Если хотите, чтобы на любой раскладке работала, используйте метод OnKeyManyasha