Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 57
Default Convert 2-digit year

Hi. All,
Easy one for the experts.
My country use a unique [13 number-digit] Identification system.
The first 6-digits represent the date of birth [yymmdd]
In my code the ID number is entered on a userform as text and
displayed as follows 52-02-08-5034-087 [in this example the d.of b
is 8-Feb-1952]
Range("Bithday").Value = Left(Idnumber, 8)
displays the required birthday in Range("Bithday")
With the note "This cell contains a date string represented with
only 2 digits for the year."
If I select the option "Convert XX to 19XX" it gives me exactly
what I want.
I tried macro record but it doesnt give me any result.
How do I include the "Convert XX to 19XX" in my code ?

--
HJN
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9,101
Default Convert 2-digit year

You added two more character to the string when you chaged the year from two
digits to 4 digits

from
Range("Bithday").Value = Left(Idnumber, 8)
to
Range("Bithday").Value = Left(Idnumber, 10)

You will either get
52-02-08-5034-087 : 17 characters
or
52-02-2008-5034-087 : 19 characters


Os the code would look like this

if len(IdNumber) = 17 then
Range("Bithday").Value = Left(Idnumber, 8)
else
Range("Bithday").Value = Left(Idnumber, 10)
end if
"Hennie Neuhoff" wrote:

Hi. All,
Easy one for the experts.
My country use a unique [13 number-digit] Identification system.
The first 6-digits represent the date of birth [yymmdd]
In my code the ID number is entered on a userform as text and
displayed as follows 52-02-08-5034-087 [in this example the d.of b
is 8-Feb-1952]
Range("Bithday").Value = Left(Idnumber, 8)
displays the required birthday in Range("Bithday")
With the note "This cell contains a date string represented with
only 2 digits for the year."
If I select the option "Convert XX to 19XX" it gives me exactly
what I want.
I tried macro record but it doesnt give me any result.
How do I include the "Convert XX to 19XX" in my code ?

--
HJN

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,934
Default Convert 2-digit year

You can let VB handle putting in the century for you using this code line...

Range("Bithday").Value = CDate(Mid(IDnumber, 7, 3) & MonthName(Mid( _
IDnumber, 4, 2)) & "-" & Left(IDnumber, 2))

HOWEVER, the point at which VB switches from the 1900s to the 2000s is
determined by the Windows' Regional Settings (which can be changed by the
user). The default breakpoint is 1930... a 2-digit year before 30 will be in
the 2000s (for example, 29 would become 2029 whereas a 2-digit year of 30 or
later would be placed in the 1900 (for example, 30 would become 1930).

--
Rick (MVP - Excel)


"Hennie Neuhoff" wrote in message
...
Hi. All,
Easy one for the experts.
My country use a unique [13 number-digit] Identification system.
The first 6-digits represent the date of birth [yymmdd]
In my code the ID number is entered on a userform as text and
displayed as follows 52-02-08-5034-087 [in this example the d.of b
is 8-Feb-1952]
Range("Bithday").Value = Left(Idnumber, 8)
displays the required birthday in Range("Bithday")
With the note "This cell contains a date string represented with
only 2 digits for the year."
If I select the option "Convert XX to 19XX" it gives me exactly
what I want.
I tried macro record but it doesnt give me any result.
How do I include the "Convert XX to 19XX" in my code ?

--
HJN


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 57
Default Convert 2-digit year

Rick - Thank you very much - I think Joel did not read to question
--
HJN


"Rick Rothstein" wrote:

You can let VB handle putting in the century for you using this code line...

Range("Bithday").Value = CDate(Mid(IDnumber, 7, 3) & MonthName(Mid( _
IDnumber, 4, 2)) & "-" & Left(IDnumber, 2))

HOWEVER, the point at which VB switches from the 1900s to the 2000s is
determined by the Windows' Regional Settings (which can be changed by the
user). The default breakpoint is 1930... a 2-digit year before 30 will be in
the 2000s (for example, 29 would become 2029 whereas a 2-digit year of 30 or
later would be placed in the 1900 (for example, 30 would become 1930).

--
Rick (MVP - Excel)


"Hennie Neuhoff" wrote in message
...
Hi. All,
Easy one for the experts.
My country use a unique [13 number-digit] Identification system.
The first 6-digits represent the date of birth [yymmdd]
In my code the ID number is entered on a userform as text and
displayed as follows 52-02-08-5034-087 [in this example the d.of b
is 8-Feb-1952]
Range("Bithday").Value = Left(Idnumber, 8)
displays the required birthday in Range("Bithday")
With the note "This cell contains a date string represented with
only 2 digits for the year."
If I select the option "Convert XX to 19XX" it gives me exactly
what I want.
I tried macro record but it doesnt give me any result.
How do I include the "Convert XX to 19XX" in my code ?

--
HJN



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Automatically convert Text with 2-digit year juniper810 Excel Discussion (Misc queries) 3 April 24th 23 03:46 AM
convert day of year to numeric value format year+day in 4 digits Kaaren Excel Worksheet Functions 3 February 7th 09 08:37 PM
Addendum to 2 digit year to 4 digit year RealGomer Excel Discussion (Misc queries) 2 December 14th 06 05:48 PM
Format 2 digit year to 4 digit RealGomer Excel Discussion (Misc queries) 5 December 14th 06 01:45 PM
Convert 2 digit month to 4 digit years and months BB Excel Worksheet Functions 2 September 17th 06 09:33 PM


All times are GMT +1. The time now is 02:37 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"