2014-02-05 3 views
0

Я попытался создать макрос, который автоматически форматирует значение столбца, чтобы изменить дату и время только что на сегодняшний день, однако при запуске макроса значения ячеек не обновляются автоматически.Сделать текст для столбцов обновить с помощью VBA excel 2010

Я в настоящее время необходимо сделать следующий выбор функции произойдет с помощью VBA для Excel 2010.

данных/текста по столбцам кнопку Далее/(сохранить по умолчанию «разделителями»)/Следующая кнопка (сохранить по умолчанию «на вкладке»)/Следующая кнопка (держать кнопку «Общие»/Finish по умолчанию

Я попытался функции записи, но VBA не работает. HELPPPPPPPPPPPPPPPPPPPPP !!!!!

Вот мой код до сих пор.

' Autochange_Extractdata_Date_Format Макро « Sheets („Извлечение данных“). Выберите

Columns("AK:AK").Select 

Selection.NumberFormat = "m/d/yyyy" 

Columns("AK:AK").Select 

Selection.TextToColumns Destination:=Range("AK1"), DataType:=xlDelimited, _ 
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ 
    Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ 
    :=Array(1, 1), TrailingMinusNumbers:=True 

End Sub

+0

Вы пытаетесь сохранить время в отдельной колонке? – ARich

+0

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

+0

Так что, чтобы уточнить, что не работает, точно? Формат должен корректно устанавливаться из того, что я вижу. – ARich

ответ

2

от симптомов, которые Вы описали, это звучит как ваше поле сначала в текстовом формате, поэтому изменить его в числовой формат Безразлично» ничего не делай. Когда вы нажимаете на ячейку, она автоматически преобразует ее в число.

Попробуйте

Columns("AK:AK").NumberFormat = "m/d/yyyy" 
Columns("AK:AK").Value = Columns("AK:AK").Value '//This will convert each properly 

Columns("AK:AK").Select 

Selection.TextToColumns Destination:=Range("AK1"), DataType:=xlDelimited, _ 
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ 
    Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ 
    :=Array(1, 1), TrailingMinusNumbers:=True 
+0

, к сожалению, он просто делает то же самое, что и оригинальный скрипт. –

0

Потому что я не мог решить, как обновить значение ячейки мне удалось работать этот код, чтобы изменить значение ячейки, а не от времени Date только к дате.

работает с удовольствием !!!

'Autochange_Extractdata_Date_Format Макро

Sheets("Data Extract").Select 
Columns("AK:AK").Select 
Selection.NumberFormat = "m/d/yyyy" 
Range("AK4:AK999999").Select 

Dim c As Range 

For Each c In Selection 
    Dim v As String 
    v = c.value 

    If c.value <> Empty Then 
     c.value = DateValue(c.value) 
    Else 
     Exit For 
    End If 
Next 
Range("A1").Select 

End Sub

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