View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default Typecasting Range from excel to work

Since pRange is an object variable:

pRange = excel.Range(excel.Cells(1, 1), excel.Cells(1, 1))
should be:
SET pRange = excel.Range(excel.Cells(1, 1), excel.Cells(1, 1))

or just
SET pRange = excel.Range("a1")


But I agree with Dnereb. I wouldn't use Excel or Sheet for my variable names.



raven wrote:

Hi,

Im basically try to read a part of a table from an excel file and inserting
it as an OLE object in Work. The code seems to run fine when just 1 cell is
selected, but throws a type mismatch error when the range containts multiple
cells.

My code is as follows(from word doc):

Dim excel As Object
Dim sheet As Object
dim pRange as Range
Set excel = CreateObject("Excel.Application")
Set sheet = excel.ActiveSheet
' Works fine
pRange = excel.Range(excel.Cells(1, 1), excel.Cells(1, 1))
' Throws type mismatch error
pRange = excel.Range(excel.Cells(1, 1), excel.Cells(1, 2))
pRange.InlineShapes.AddOLEObject , "c:\del.xls", , , , , , pRange


--

Dave Peterson