VBA స్ట్రింగ్ టు డేట్ | ఎక్సెల్ VBA లో స్ట్రింగ్ విలువలను తేదీకి మార్చండి

ఎక్సెల్ VBA స్ట్రింగ్ టు డేట్

Vba లో మనం ఇచ్చిన స్ట్రింగ్‌ను తేదీకి మార్చగల ఒక పద్ధతి ఉంది, మరియు ఈ పద్ధతిని vba లో CDATE ఫంక్షన్ అంటారు, ఇది VBA లో అంతర్నిర్మిత ఫంక్షన్ మరియు ఈ ఫంక్షన్‌కు అవసరమైన భాగాలు మొదట స్ట్రింగ్‌ను మార్చడం ఒక సంఖ్య మరియు తరువాత మేము ఇచ్చిన సంఖ్యను తేదీకి మారుస్తాము. ఫలిత ఆకృతి సిస్టమ్ తేదీ ఆకృతిపై మాత్రమే ఆధారపడి ఉంటుంది.

ఎక్సెల్ తో మనమందరం ఎదుర్కొనే సాధారణ సమస్యలలో ఒకటి “తేదీ & సమయం” మరియు ఇవి తరచూ టెక్స్ట్ విలువలుగా నిల్వ చేయబడతాయి మరియు ప్రారంభంలో గుర్తించబడవు. కానీ వారు ఆ సమయాన్ని ఉపయోగించాల్సిన అవసరం వచ్చినప్పుడు, ఆ విలువలు వచనంగా నిల్వ చేయబడిందని మరియు వాటిని ఎలా ఎదుర్కోవాలో తెలియదని మేము తెలుసుకుంటాము. “తేదీ & సమయం” అనేది ఒక మూలకంలో రెండు మిశ్రమ విషయాలు, కానీ ఆ విలువలు వచన విలువలుగా నిల్వ చేయబడిన తర్వాత పని చేయడం బాధాకరం.

స్ట్రింగ్ విలువలను తేదీకి ఎలా మార్చాలి?

మీరు ఈ VBA స్ట్రింగ్ టు డేట్ ఎక్సెల్ మూసను ఇక్కడ డౌన్‌లోడ్ చేసుకోవచ్చు - VBA స్ట్రింగ్ టు డేట్ ఎక్సెల్ మూస

ఉదాహరణ # 1

VBA వేరియబుల్ ప్రకటించబడి, స్ట్రింగ్‌గా కేటాయించిన తర్వాత, ఆ వేరియబుల్‌కు కేటాయించిన ఏదైనా స్ట్రింగ్‌గా మాత్రమే పరిగణించబడుతుంది. ఉదాహరణకు ఈ క్రింది కోడ్‌ను చూడండి.

కోడ్:

 ఉప స్ట్రింగ్_టో_డేట్ () మసకబారిన స్ట్రింగ్ k = "10-21" MsgBox k ఎండ్ సబ్ 

పై కోడ్ వేరియబుల్ “k” లో “స్ట్రింగ్” డేటా రకంగా నిర్వచించబడింది మరియు ఈ వేరియబుల్ కోసం మేము విలువను “10-21” గా కేటాయించాము.

సరే, కోడ్‌ను రన్ చేద్దాం మరియు VBA లోని సందేశ పెట్టెలో మనకు ఏమి లభిస్తుందో చూద్దాం.

మేము విలువను 10-21 గా మాత్రమే పొందాము, కాని సాధారణంగా, ఈ విలువలు తేదీ, స్ట్రింగ్ విలువలు కాదు. కాబట్టి కేటాయించిన డేటా రకం “స్ట్రింగ్” అయినప్పటికీ, డేటా రకం మార్పిడి ఫంక్షన్ CDATE VBA ని ఉపయోగించడం ద్వారా మనం ఇంకా తేదీకి మార్చవచ్చు.

కోడ్:

 ఉప స్ట్రింగ్_టో_డేట్ () డిమ్ కె స్ట్రింగ్ గా k = "10-21" MsgBox CDate (k) ఎండ్ సబ్ 

పై వాటిలో, సందేశ పెట్టెలో “k” అనే వేరియబుల్ ఫలితాన్ని చూపించే ముందు మేము CDATE ఫంక్షన్‌ను కేటాయించాము. ఒక చిన్న సర్దుబాటు చేయబడింది, ఇది ఎంత పెద్ద ప్రభావాన్ని చూపుతుందో చూద్దాం.

ఇప్పుడు మనం ఫలితాన్ని “తేదీ” గా “స్ట్రింగ్” విలువగా చూస్తాము.

ఉదాహరణ # 2

ఇప్పుడు, ఉదాహరణ కోసం క్రింది కోడ్‌ను చూడండి.

కోడ్:

 ఉప స్ట్రింగ్_టో_డేట్ () మసకబారిన స్ట్రింగ్ k = 43599 MsgBox k ఎండ్ సబ్ 

కోడ్ పైన ఉన్న ఈ సమయంలో, మేము పైన కేటాయించిన ఫలితాన్ని “43599” గా చూపుతుంది.

మేము ఒకసారి CDATE ఫంక్షన్‌ను ఉపయోగించినట్లయితే అది తేదీ విలువకు మారుతుంది.

కోడ్:

 ఉప స్ట్రింగ్_టో_డేట్ () డిమ్ కె స్ట్రింగ్ గా k = 43599 MsgBox CDate (k) ఎండ్ సబ్ 

CDATE ఫంక్షన్‌ను వర్తింపజేసిన తరువాత ఫలితం క్రింది విధంగా ఉంటుంది.

ఎక్సెల్ తేదీని సీరియల్ నంబర్లుగా నిల్వ చేసినందున, మా కేటాయించిన సీరియల్ నంబర్ 43599 తేదీ ఫార్మాట్ వర్తించినప్పుడు తేదీ 05/14/2019 కు సమానం.

తేదీని ఖచ్చితంగా చదవడానికి మేము ఫార్మాట్‌ను తేదీకి “DD-MMM-YYYY” గా వర్తింపజేయవచ్చు.

కోడ్:

 తేదీ 

పై వాటిలో, ఫలితాన్ని నిల్వ చేయడానికి నేను ఒక అదనపు వేరియబుల్ ప్రకటించాను. ఈ వేరియబుల్ కోసం, నేను CDATE మార్పిడి ఫంక్షన్‌ను వర్తింపజేసాను.

తరువాత, నేను “DD-MMM-YYYY” ఫార్మాట్ యొక్క ఆకృతిని వర్తింపజేయడానికి FORMAT ఫంక్షన్‌ను ఉపయోగించాను మరియు ఫలితం క్రింద చూపిన విధంగా ఉంటుంది.

దీనితో, మేము డేపార్ట్ మరియు నెల భాగాన్ని స్పష్టంగా చదవగలం. ఇది ఎక్సెల్ లో మీ సిస్టమ్ డేట్ ఫార్మాట్ మీద కూడా ఆధారపడి ఉంటుంది, ఎందుకంటే నా సిస్టమ్ డేట్ ఫార్మాట్ “MM-DD-YYYY” కనుక ఇది అలా చూపిస్తోంది కాని ఫార్మాట్ చేయడానికి ఇది అడ్డంకి కాదు.

ఉదాహరణ # 3

వర్క్‌షీట్ కణాలలో తేదీలు వచన విలువలుగా ఎలా ఫార్మాట్ చేయబడుతున్నాయో ఇప్పుడు మనం చూస్తాము. వర్క్‌షీట్‌లో వచనంగా నిల్వ చేయబడిన తేదీల చిత్రం క్రింద ఉంది.

A2 నుండి A12 కాలమ్ A లో మనకు తేదీ చూసే విలువలు ఉన్నాయి కాని ఫార్మాట్ టాబ్‌ను చూసినప్పుడు అది “టెక్స్ట్” ఆకృతిని చూపుతుంది. ఇప్పుడు మనం ఈ విలువలను టెక్స్ట్ నుండి తేదీకి మార్చాలి.

టెక్స్ట్-ఫార్మాట్ చేసిన తేదీ విలువలను వాస్తవ తేదీలకు మార్చడానికి నేను వ్రాసిన కోడ్ క్రింద ఉంది.

కోడ్:

 ఉప స్ట్రింగ్_టో_డేట్ 2 () డిమ్ కె లాంగ్ 'డేటా ఒకటి కంటే ఎక్కువ సెల్‌లో ఉంది, కాబట్టి ప్రతి సెల్ ద్వారా లూప్ చేయాలి' కె ఫర్ ఫర్ లూప్ ఫర్ కె = 2 టు 12 'డేటా 2 వ వరుస నుండి మొదలై 12 వ వరుసలో ముగుస్తుంది, కాబట్టి 2 నుండి 12 వరకు కణాలు (k, 2) .వాల్యూ = సిడేట్ (కణాలు (k, 1). విలువ) తదుపరి k ముగింపు ఉప 

మీరు కోడ్‌ను అమలు చేస్తే అది మాకు దిగువ ఫలితాన్ని ఇస్తుంది.

గుర్తుంచుకోవలసిన విషయాలు

  • CDATE అనేది డేటా రకం మార్పిడి ఫంక్షన్, కానీ VBA స్ట్రింగ్ నిల్వ చేసిన తేదీని వాస్తవ తేదీ విలువలకు మార్చడానికి ఉపయోగించవచ్చు.
  • CDATE ఫంక్షన్ ఫార్మాట్ యొక్క ఫలితం సిస్టమ్ తేదీ ఆకృతిపై మాత్రమే ఆధారపడి ఉంటుంది.
  • తేదీలు ఎక్సెల్ లో క్రమ సంఖ్యలుగా నిల్వ చేయబడతాయి, కాబట్టి వాటిని తేదీలుగా చూపించడానికి ఫార్మాటింగ్ అవసరం.