ВБА низ до данас | Претворите вредности низа у датум у програму Екцел ВБА

Екцел ВБА низ до датума

У Вба постоји метода помоћу које можемо претворити дати низ у датум, а метода је позната као ЦДАТЕ функција у вба, ово је уграђена функција у ВБА и делови потребни за ову функцију су прво претварање низа у број, а затим претварамо дати број у датум. Формат резултата зависи само од формата системског датума.

Један од честих проблема са којима се сви суочавамо са Екцелом је „Датум и време“ и често се чувају као текстуалне вредности и у почетку остају непримећени. Али када се од њих затражи да искористе то време, ми ћемо сазнати да се те вредности чувају као текст и да уопште не знамо како да поступимо с њима. „Датум и време“ су две комбиноване ствари у једном елементу, али када се те вредности сачувају као текстуалне вредности, мучно је радити са њима.

Како претворити низове вредности у датуме?

Ову ВБА Стринг то Дате Екцел Предлошку можете преузети овде - ВБА Стринг то Дате Екцел Предложак

Пример # 1

Једном када је ВБА променљива декларисана и додељена као Стринг, све што је додељено тој променљивој третираће се само као стринг. За пример погледајте доњи код.

Шифра:

 Суб Стринг_То_Дате () Дим к Ас Стринг к = "10-21" МсгБок к Енд Суб 

У горњој променљивој кода „к“ дефинисаној као тип података „Стринг“ и за ову променљиву смо доделили вредност као „10-21“.

Ок, покренимо код и видимо шта ћемо добити у оквиру за поруке у ВБА.

Вредност смо добили само као 10-21, али обично су то вредности, а не вредности низа. Дакле, иако је додељени тип података „Стринг“, и даље можемо претворити у датум користећи функцију за претворбу типа података ЦДАТЕ ВБА.

Шифра:

 Суб Стринг_То_Дате () Дим к Ас Стринг к = "10-21" МсгБок ЦДате (к) Енд Суб 

У претходном делу, пре него што покажемо резултат променљиве „к“ у оквиру за поруке доделили смо функцију ЦДАТЕ. Направљено је мало прилагођавање, да видимо колики је то велики утицај.

Сада бисмо резултат видели као „Датум“, а не више као вредност „Стринг“.

Пример # 2

Сада, погледајте пример доњег кода.

Шифра:

 Суб Стринг_То_Дате () Дим к Ас Стринг к = 43599 МсгБок к Енд Суб 

У овом тренутку у времену изнад код би приказао резултат као „43599“ као што смо горе одредили.

Али када једном користимо функцију ЦДАТЕ, претвориће се у датумску вредност.

Шифра:

 Суб Стринг_То_Дате () Дим к Ас Стринг к = 43599 МсгБок ЦДате (к) Енд Суб 

Резултат након примене функције ЦДАТЕ је следећи.

Будући да је екцел датум сачувао као серијски број, додељени серијски број 43599 једнак је датуму 14.05.2019 када се примењује формат датума.

Такође можемо применити формат на датум као „ДД-МММ-ГГГГ“ да бисмо тачно прочитали датум.

Шифра:

 Суб Стринг_То_Дате1 () Дим к Ас Стринг Дим ДатеВалуе Ас Дате к = 43599 ДатеВалуе = ЦДате (к) МсгБок Формат (ДатеВалуе, "ДД-МММ-ИИИИ") Енд Суб 

У претходном делу сам прогласио једну додатну променљиву за чување резултата. За ову променљиву применио сам функцију конверзије ЦДАТЕ.

Даље, користио сам функцију ФОРМАТ да бих применио формат формата „ДД-МММ-ГГГГ“ и резултат ће бити као што је приказано доле.

Овим можемо јасно прочитати део дана и месец. Такође зависи од формата вашег системског датума у ​​Екцелу, јер је мој системски формат датума био „ММ-ДД-ГГГГ“, тако се приказивао, али то не би требало да представља препреку форматирању.

Пример # 3

Сада ћемо заправо видети како су датуми обликовани као текстуалне вредности у ћелијама радног листа. Испод је слика датума сачуваних као текст на радном листу.

У колони А од А2 до А12 имамо вредности које гледају датум, али када погледамо картицу формата, приказује се формат „Текст“. Сада морамо претворити ове вредности из текста у датум.

Испод је код који сам написао да претворим вредности датума обликоване у текст у стварне датуме.

Шифра:

 Суб Стринг_То_Дате2 () Дим к Ас Лонг 'Подаци се налазе у више ћелија, па треба проћи кроз сваку ћелију' Опен Фор Лооп Фор к = 2 То 12 'Подаци почињу од 2. реда и завршавају се у 12. реду, дакле 2 до 12 Ћелије (к, 2) .Вредност = ЦДате (Ћелије (к, 1) .Вредност) Следеће к Крај Суб 

Ако покренете код, то ће нам дати следећи резултат.

Ствари које треба запамтити

  • ЦДАТЕ је функција конверзије типа података, али се може користити за претварање сачуваног датума ВБА низа у стварне вредности датума.
  • Резултат формата функције ЦДАТЕ зависи само од формата системског датума.
  • Датуми се у Екцелу чувају као серијски бројеви, па је потребно форматирање да би се приказивали као датуми.