
Recently my iPhone 4 crashed. It is 3.5 years old. And just like any other 3 year old, it started acting weird & crazy one night. The next morning it went silent. It won’t go beyond the Apple logo whenever I start it. Since I couldn’t wait for the phone to start, I took out the SIM card (the phone is unlocked, if you are wondering) and placed it in my old Nokia phone. But alas, none of my contacts are on the SIM. They are in “cloud”.
After a day of answering phone calls from everyone including my mom as “Chandoo here”, I’ve decided to get my contacts back. So I logged in to iCloud to download a backup. And the backup was a .VCF file. It has my phone numbers in this format:

Since I wanted to have all my contact numbers in a spreadsheet, I did what any Excel nerd would do. I built a template for that.
Template for exporting iPhone contacts to Excel
As a first step, download the template.
This template can,
- Export iPhone contacts to Excel
- Create iPhone import format from a list of names & phone numbers in Excel
Exporting contacts from iPhone to Excel
To export the contacts from your iPhone to Excel, follow below steps
- First back up all the contacts on your phone to iCloud
- Now, visit iCloud and select all of your contacts.
- Using the settings gear icon at the bottom, export your contacts to a .VCF file.
- Open the vcf file in notepad & copy everything.
- Paste the data in Data column of “export” tab of the download file.
- Names & phone numbers will be extracted in column D:J
- Filter the table so no blanks are shown in Name column
- Copy the values from Name & phone number columns and paste in a separate sheet or file
- Save.
Importing spreadsheet contacts to iPhone
To copy all your spreadsheet contacts to iPhone,
- Go to “Import” tab of the download file.
- Type or paste your contact information in the columns B,C & D.
- Select “VCF to copy” range (from H4 to last cell)
- Copy
- Open notepad and paste.
- Save the notepad file as contacts.vcf
- Import the VCF file to your iCloud
- Done
Confused about the process? See this video
Since the process of exporting or importing contacts thru iCloud can be a little confusing, I made a small video explaining how the template works. See it below:
(click here to see the video on our YouTube channel)
How does the template work?
The vCard format files are simple text files. So when pasted in Excel, all we need to do is figure out where the contact name & phone numbers are and extract them using, what else… Excel formulas.
Exporting VCF to Excel:
- This uses MATCH formula to find the line in VCF data that has the information we want.
- Then OFFSET formula to extract the corresponding line of VCF data
- And then SUBSTITUTE, MID, LEFT & TRIM formulas to extract the text portions
You can examine all these formulas by unhiding columns C & K:Q in the export tab of the template.
Importing Excel data to VCF:
- This uses INDEX formula to get a name & phone number from entered data.
- Then uses CHOOSE & SUBSTITUTE formulas to create the corresponding VCF lines
- Finally TODAY & NOW formulas to create the timestamp element of the VCF
You can examine these formulas in columns F,G & H in the import tab.
Do you like this template?
It was fun building something useful & immediate like this in Excel. Although, soon after I created the template, my iPhone magically sprung back to life, I will be ready next time I need to look at my contacts or load them to another phone.
How do you like this template? Would you use this or some other app to export / import your contacts? Please share your thoughts and tips using comments.

















6 Responses to “Make VBA String Comparisons Case In-sensitive [Quick Tip]”
Another way to test if Target.Value equal a string constant without regard to letter casing is to use the StrCmp function...
If StrComp("yes", Target.Value, vbTextCompare) = 0 Then
' Do something
End If
That's a cool way to compare. i just converted my values to strings and used the above code to compare. worked nicely
Thanks!
In case that option just needs to be used for a single comparison, you could use
If InStr(1, "yes", Target.Value, vbTextCompare) Then
'do something
End If
as well.
Nice tip, thanks! I never even thought to think there might be an easier way.
Regarding Chronology of VB in general, the Option Compare pragma appears at the very beginning of VB, way before classes and objects arrive (with VB6 - around 2000).
Today StrComp() and InStr() function offers a more local way to compare, fully object, thus more consistent with object programming (even if VB is still interpreted).
My only question here is : "what if you want to binary compare locally with re-entering functions or concurrency (with events) ?". This will lead to a real nightmare and probably a big nasty mess to debug.
By the way, congrats for you Millions/month visits 🙂
This is nice article.
I used these examples to help my understanding. Even Instr is similar to Find but it can be case sensitive and also case insensitive.
Hope the examples below help.
Public Sub CaseSensitive2()
If InStr(1, "Look in this string", "look", vbBinaryCompare) = 0 Then
MsgBox "woops, no match"
Else
MsgBox "at least one match"
End If
End Sub
Public Sub CaseSensitive()
If InStr("Look in this string", "look") = 0 Then
MsgBox "woops, no match"
Else
MsgBox "at least one match"
End If
End Sub
Public Sub NotCaseSensitive()
'doing alot of case insensitive searching and whatnot, you can put Option Compare Text
If InStr(1, "Look in this string", "look", vbTextCompare) = 0 Then
MsgBox "woops, no match"
Else
MsgBox "at least one match"
End If
End Sub