View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Paul Paul is offline
external usenet poster
 
Posts: 6
Default String to Variant conversion

Paul wrote:

I am using Harlan Grove's PULL function to grab data from other
spreadsheets, and it mostly works except that some strings that look
like dates get converted to numbers and therefore don't work with
VLOOKUP and the like. For example, "06-6107" gets changed to
1536728. It seems that this is happening in this bit of code:


For Each c In r
c.Value = xlapp.ExecuteExcel4Macro(b & c.Address(1, 1, xlR1C1))
Next c


The Value property is a Variant, so in the conversion the string is
interpreted as a date. Is there any way to force that to be converted
a Variant/String instead of Variant/Double?


On Oct 3, 6:08 pm, Dave Peterson wrote:
I haven't used Harlan's function in a while, but are you sure that the
conversion to date isn't happening when you put the value back in the cell in
the worksheet?


I use the debugger to step through the function, and the datatype on
c.Value is listed as "Variant/Double".


If you know you want to return text, you could try this:

c.Value = "'" & xlapp.ExecuteExcel4Macro(b & c.Address(1, 1, xlR1C1))

That does solve the date-conversion problem, but some of what I need
to get are actual numbers, so they shouldn't be turned to strings.
Thanks for the pointer, though, I think this gets me headed in the
right direction.

Thanks,
Paul