You should make it first visible then send keys :
Dim xl As New Excel.Application
I tested it with CSharp and it works well.
If you insist on having excel hidden so you can not use SendKeys you should write exactly what you want in a exact cell :
Worksheet ws = xl.ActiveSheet;
Range r = ws.Cells[1,1];
r.Value2 = "HI";
This code is in csharp convert it to VB please;
Hope it helps.