Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Help in using an Offset in a .Range().Select


I am trying to Select a Range of cells where the last cell is calcualted
and will be plugged in at run time.

worksheets.Range("A1:C1").Select ' This works of course, selecting A1
to C1 but I wanted the ending cell to be calculated.

worksheets.Range("A1", Range("A1").Offset(colTOright)).Select

Where colTOright will be calculated earlier. I tried just plugging in
a number for colTOright but get an VBScript runtime error, Type
mismatch: 'Range'

Is there another way?

Thanks
Robert


--
roblo
------------------------------------------------------------------------
roblo's Profile: http://www.excelforum.com/member.php...o&userid=22469
View this thread: http://www.excelforum.com/showthread...hreadid=399231

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 860
Default Help in using an Offset in a .Range().Select

Hi Robert,

A few problems with your code. First, you need to specify which worksheet
you're working with. Secondly, you should make sure your range references
are fully-qualified (easiest way is to use a With block). Here's some
modified code (untested) which should work:

With Worksheets("Sheet1")
.Range(.Range("A1"), .Range("A1").Offset(colTOright)).Select
End With

Even easier would be something like this:

Worksheets("Sheet1").Range("A1").Resize(ColumnSize :=colTOright +
1).Select

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


roblo wrote:
I am trying to Select a Range of cells where the last cell is
calcualted and will be plugged in at run time.

worksheets.Range("A1:C1").Select ' This works of course, selecting
A1 to C1 but I wanted the ending cell to be calculated.

worksheets.Range("A1", Range("A1").Offset(colTOright)).Select

Where colTOright will be calculated earlier. I tried just plugging in
a number for colTOright but get an VBScript runtime error, Type
mismatch: 'Range'

Is there another way?

Thanks
Robert


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Help in using an Offset in a .Range().Select


Thanks Jake for the suggestion, but it does not work in my .VBS script.
Maybe in VBA?

colTOright = 6
' Create a new Excel workbook
set objXL = WScript.CreateObject("Excel.Application")
objXL.Visible = True
set workbook = objXL.Workbooks.Add
set worksheet = workbook.Worksheets("sheet1")
' worksheet.Range("A1:F1").Select
With Worksheet("Sheet1")
..Range(.Range("A1"), .Range("A1").Offset(colTOright)).Select
End With

I'm just trying to replace the ending cell (F1) with a string or use an
Offset. Didn't think it would be that difficult.

newColumn = .Cells(A1).Offset(colTOright).Value
and replace F1 with newColumn, but that object doesn't except strings.


worksheet.Range("A1:F1").Select

Robert


--
roblo
------------------------------------------------------------------------
roblo's Profile: http://www.excelforum.com/member.php...o&userid=22469
View this thread: http://www.excelforum.com/showthread...hreadid=399231

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 860
Default Help in using an Offset in a .Range().Select

Hi roblo,

I didn't realize you were automating Excel from VBScript. Your original
syntax was correct, as you have a worksheet object variable declared:

With Worksheet("Sheet1")
Range(.Range("A1"), .Range("A1").Offset(colTOright)).Select
End With


Should be:

With worksheet
Range(.Range("A1"), .Range("A1").Offset(colTOright)).Select
End With


--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


roblo wrote:
Thanks Jake for the suggestion, but it does not work in my .VBS
script. Maybe in VBA?

colTOright = 6
' Create a new Excel workbook
set objXL = WScript.CreateObject("Excel.Application")
objXL.Visible = True
set workbook = objXL.Workbooks.Add
set worksheet = workbook.Worksheets("sheet1")
' worksheet.Range("A1:F1").Select
With Worksheet("Sheet1")
Range(.Range("A1"), .Range("A1").Offset(colTOright)).Select
End With

I'm just trying to replace the ending cell (F1) with a string or use
an Offset. Didn't think it would be that difficult.

newColumn = .Cells(A1).Offset(colTOright).Value
and replace F1 with newColumn, but that object doesn't except strings.


worksheet.Range("A1:F1").Select

Robert


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Help in using an Offset in a .Range().Select


Thanks Jake,

Final syntax that works after trial and error looks like this:

With worksheets
..Range(("A1"),.Range("A1").Offset(0,colTOright)). Select
End with


Had to specific Row and Column offsets for some reason.


thanks again

Robert


--
roblo
------------------------------------------------------------------------
roblo's Profile: http://www.excelforum.com/member.php...o&userid=22469
View this thread: http://www.excelforum.com/showthread...hreadid=399231



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Help in using an Offset in a .Range().Select

If he wants to expand to the right I would suggest the following
modification:

With worksheet
.Range(.Range("A1"), .Range("A1").Offset(0,colTOright)).Select
End With

--
Regards,
Tom Ogilvy

"Jake Marx" wrote in message
...
Hi roblo,

I didn't realize you were automating Excel from VBScript. Your original
syntax was correct, as you have a worksheet object variable declared:

With Worksheet("Sheet1")
Range(.Range("A1"), .Range("A1").Offset(colTOright)).Select
End With


Should be:

With worksheet
Range(.Range("A1"), .Range("A1").Offset(colTOright)).Select
End With


--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


roblo wrote:
Thanks Jake for the suggestion, but it does not work in my .VBS
script. Maybe in VBA?

colTOright = 6
' Create a new Excel workbook
set objXL = WScript.CreateObject("Excel.Application")
objXL.Visible = True
set workbook = objXL.Workbooks.Add
set worksheet = workbook.Worksheets("sheet1")
' worksheet.Range("A1:F1").Select
With Worksheet("Sheet1")
Range(.Range("A1"), .Range("A1").Offset(colTOright)).Select
End With

I'm just trying to replace the ending cell (F1) with a string or use
an Offset. Didn't think it would be that difficult.

newColumn = .Cells(A1).Offset(colTOright).Value
and replace F1 with newColumn, but that object doesn't except strings.


worksheet.Range("A1:F1").Select

Robert




  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Help in using an Offset in a .Range().Select

Love the time delayed excel forum.

--
Regards,
Tom Ogilvy

"roblo" wrote in
message ...

Thanks Jake,

Final syntax that works after trial and error looks like this:

With worksheets
Range(("A1"),.Range("A1").Offset(0,colTOright)).Se lect
End with


Had to specific Row and Column offsets for some reason.


thanks again

Robert


--
roblo
------------------------------------------------------------------------
roblo's Profile:

http://www.excelforum.com/member.php...o&userid=22469
View this thread: http://www.excelforum.com/showthread...hreadid=399231



  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 860
Default Help in using an Offset in a .Range().Select

Thanks, Tom!

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


Tom Ogilvy wrote:
If he wants to expand to the right I would suggest the following
modification:

With worksheet
.Range(.Range("A1"), .Range("A1").Offset(0,colTOright)).Select
End With


"Jake Marx" wrote in message
...
Hi roblo,

I didn't realize you were automating Excel from VBScript. Your
original syntax was correct, as you have a worksheet object variable
declared:

With Worksheet("Sheet1")
Range(.Range("A1"), .Range("A1").Offset(colTOright)).Select
End With


Should be:

With worksheet
Range(.Range("A1"), .Range("A1").Offset(colTOright)).Select
End With


--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


roblo wrote:
Thanks Jake for the suggestion, but it does not work in my .VBS
script. Maybe in VBA?

colTOright = 6
' Create a new Excel workbook
set objXL = WScript.CreateObject("Excel.Application")
objXL.Visible = True
set workbook = objXL.Workbooks.Add
set worksheet = workbook.Worksheets("sheet1")
' worksheet.Range("A1:F1").Select
With Worksheet("Sheet1")
Range(.Range("A1"), .Range("A1").Offset(colTOright)).Select
End With

I'm just trying to replace the ending cell (F1) with a string or use
an Offset. Didn't think it would be that difficult.

newColumn = .Cells(A1).Offset(colTOright).Value
and replace F1 with newColumn, but that object doesn't except
strings.


worksheet.Range("A1:F1").Select

Robert

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Problem with Range.Cells.Offset and Range.Cells( row + offset, column) [email protected] Excel Programming 2 August 22nd 05 05:25 AM
Select row (with offset) from VB formula result RAP Excel Programming 1 August 7th 05 09:22 AM
How to Select a relative range with Using "Find" and Offset() Dennis Excel Discussion (Misc queries) 7 July 27th 05 03:57 PM
Select Range - using Offset ( 40 ,0 ) - not working Buffyslay Excel Programming 4 October 8th 04 11:35 AM
Select and Copy Range using Offset jondorv Excel Programming 1 May 16th 04 05:23 PM


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

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"