ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Typecasting Range from excel to work (https://www.excelbanter.com/excel-programming/337671-typecasting-range-excel-work.html)

raven

Typecasting Range from excel to work
 
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

Dnereb[_13_]

Typecasting Range from excel to work
 

Do not use excel as a variable name it's a reserved word in
........Excel!


--
Dnereb
------------------------------------------------------------------------
Dnereb's Profile: http://www.excelforum.com/member.php...o&userid=26182
View this thread: http://www.excelforum.com/showthread...hreadid=397028


Dave Peterson

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


All times are GMT +1. The time now is 02:26 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com