2014-10-17 2 views
1

Я пытаюсь выполнить простые задачи с типом даты, но то, что я получаю, не то, что я хочу. Я хотел бы разделить значение ячейки с разделителем и вернуть значения строки методу DateValue.Дата создания VBA со строками

Мой код

Dim str2() As String 
str2() = Split(Cells(ActiveCell.Row, 7).Value, ".") 

Dim date1 As Date 
date1 = DateValue(str(0) & "-" + str(1) & "-" & str(2)) 

То, что я пытаюсь сделать, это получить некоторый конкретный формат даты. Дата в ячейке формируется следующим образом: 26.05.14 (day.month.year), и я хочу иметь формат, подобный этому 2014-05-26 (год-месяц-день). Это все. Метод DateValue возвращает мне дату 2000-01-02. Я не знаю, как я могу посмотреть в массив str2(), чтобы узнать, какие значения существуют после метода Split. Как я могу это сделать ?

Кажется, что VBA полностью отличается от VB.NET ... У меня нет опыта с VBA. Thanks

+0

Что такое «Ячейки (ActiveCell.Row, 7). Возвращение? Можете ли вы попробовать: 'date1 = CDate (Replace (Cells (ActiveCell.Row, 7) .Value,". ","/"))' –

+0

Как я могу проверить, что возвращает 'Cells (ActiveCell.Row, 7). Ценность? Когда я указываю на мышь выше 'str2()', это не подсказывает мне ничего после выполнения метода Split. С другой стороны, когда я пытаюсь увидеть его значения следующим образом: 'Dim strCheck1 As String strCheck1 = str2 (0)' он дает мне ошибку компиляции «Подзаголовок вне диапазона» –

+0

'date1 = CDate (Replace (Cells (ActiveCell) .Row, 7) .Value, ".", "/")) 'Дает мне ошибку« Тип несоответствия ». –

ответ

0

Вы сохраняете возврат своего разбиения на «str2», но затем используете переменную «str» в качестве входа DateValue, который не определен в вашем коде (поэтому он пуст). Избегайте подобных ошибок, добавив «Option Explicit» поверх проекта, в VBA не является обязательным, как VB.NET, но, действительно, необязательным. Здесь работает код:

Dim str2() As String 
str2 = Split(Range("A2").Value, ".") 

Dim date1 As Date 
date1 = DateValue(str2(0) & "-" + str2(1) & "-" & str2(2)) 
+0

Правильно ... Моя ошибка. благодаря –

Смежные вопросы