# How to write vba to check the last digit of hong kong ID card number

eric chan
Guest
Posts: n/a

 15th Oct 2003
I am an new learner to write execel vba.

Now, I come across a question about how to write vba so as to check
the last digit of hong kong id card number, says B583418(5), how do
you know the last number is 5, and how do you write this excel vba to
expedite you working.

If anyone know how to write it, please let me have the solution.

Thanks a lot !!
14/10/03

pk
Guest
Posts: n/a

 15th Oct 2003
Write the following as one line:

xLastValue = Mid(ActiveCell.FormulaR1C1,
Len(ActiveCell.FormulaR1C1) - 1, 1)

This should do it for you, but it assumes that all card
numbers are formatted the same way. That is, that the
number you want is always the next to the last character
in the string.

Hope this helps...

>-----Original Message-----
>I am an new learner to write execel vba.
>
>Now, I come across a question about how to write vba so

as to check
>the last digit of hong kong id card number, says B583418

(5), how do
>you know the last number is 5, and how do you write this

excel vba to
>expedite you working.
>
>If anyone know how to write it, please let me have the

solution.
>
>Thanks a lot !!
>14/10/03
>.
>

Tom Ogilvy
Guest
Posts: n/a

 15th Oct 2003
sStr = "B583418(5)"
? Mid(sStr,len(sStr)-1,1)
5

--
Regards,
Tom Ogilvy

eric chan <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> I am an new learner to write execel vba.
>
> Now, I come across a question about how to write vba so as to check
> the last digit of hong kong id card number, says B583418(5), how do
> you know the last number is 5, and how do you write this excel vba to
> expedite you working.
>
> If anyone know how to write it, please let me have the solution.
>
> Thanks a lot !!
> 14/10/03

keepitcool
Guest
Posts: n/a

 15th Oct 2003

hastily put together.. without errorchecking
dont have any ID's to check here.
but it's according to the site's theory..

Sub IDTest()
Dim s\$
s = InputBox("Enter ID")
MsgBox "ValidatedID: " & HongKongID(s)
End Sub

Function HongKongID(sID As String)
Dim s\$, i%, n(1 To 7), r
'Theory: http://home.hkstar.com/~maukwan/fun/digit.htm

s = UCase(Left(sID, 7))
For i = 1 To 7
n(i) = Mid(s, i, 1)
Next
n(1) = 1 + (Asc(n(1)) - 65) Mod 11
For i = 1 To 7
r = r + Val(n(i)) * (9 - i)
Next
r = 11 - r Mod 11

HongKongID = s & " (" & r & ")"

End Function

keepITcool

< email : keepitcool chello nl (with @ and .) >
< homepage: http://members.chello.nl/keepitcool >

http://www.pcreview.co.uk/forums/(E-Mail Removed) (eric chan) wrote:

> I am an new learner to write execel vba.
>
> Now, I come across a question about how to write vba so as to check
> the last digit of hong kong id card number, says B583418(5), how do
> you know the last number is 5, and how do you write this excel vba to
> expedite you working.
>
> If anyone know how to write it, please let me have the solution.
>
> Thanks a lot !!
> 14/10/03
>

 Thread Tools Rate This Thread Rate This Thread: 5 : Excellent 4 : Good 3 : Average 2 : Bad 1 : Terrible

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are Off Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post new.microsoft.com Microsoft Excel Programming 1 29th Nov 2005 09:29 AM Becky News Editions 5 7th Nov 2005 02:45 PM =?Utf-8?B?a2VubmlzY2hvbmc=?= Microsoft Access Getting Started 1 19th Oct 2004 02:27 PM mark Windows XP Messenger 0 25th Oct 2003 08:42 AM Karthikeyan Rajasekharan Microsoft Outlook Discussion 0 5th Sep 2003 01:33 PM

Features