Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

selecting range variable

Posted on 2013-06-05
7
Medium Priority
?
178 Views
Last Modified: 2013-06-19
hey guys,

i've got a function that is accepting a range argument. now i'm trying to select that range cell like range("A1").select action so that i can do offsets, etc and it would keep state by using selection.offset(1,0) etc.

how do i select a cell in excel by using this range variable?

I've tried:

rngStartingCell.select - and it returns an error
range(rngstartingcell).select - and it returns an error
sheets("graphs").rngstartingcell.select - and it returns an error

Function ClearCells(ByRef rngStartingCell As Range) --> this is the function definition

thanks guys in advance!!! = ))
0
Comment
Question by:developingprogrammer
7 Comments
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 39221715
How do you assign the range to the variable?
0
 
LVL 23

Expert Comment

by:Michael Fowler
ID: 39221722
It would best if you post the workbook for us to look at. If not then as ssaqibh noted please advise how the range is assigned as the error is likely there

Michael
0
 

Author Comment

by:developingprogrammer
ID: 39221782
thanks guys, here's the workbook.

kindly search for comment "'this is the line that has a problem" and put a breakpoint on the following line that contains "rngStartingCell.Select", then just run UpdateVMS().

i'm not sure why it can't work.

i've tried this same way of assigning the variable and then selecting the cell through 2 layers of functions and it works. not sure why this one can't work = (
testing.xls
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 85

Accepted Solution

by:
Rory Archibald earned 2000 total points
ID: 39221818
You can't select a cell if it's sheet isn't active, but then you don't need to. Try this version:

Function ClearCells(ByRef rngStartingCell As Range)
   Dim rngEndCell             As Range
   With rngStartingCell
      If .Value = "" Then Exit Function
      'this is the line that has a problem
      If .Offset(, 1).Value <> "" Then
         Set rngEndCell = .End(xlToRight)
      Else
         Set rngEndCell = .MergeArea
      End If
   End With
   With rngEndCell
      If .Offset(1).Value <> "" Then
         Set rngEndCell = .End(xlDown).MergeArea
      End If
   End With
   Range(rngStartingCell, rngEndCell).ClearContents
End Function

Open in new window

0
 
LVL 23

Expert Comment

by:Michael Fowler
ID: 39221858
Your problem here is the merged cells. The easiest way to solve this would be to not use the merges

Michael
0
 
LVL 23

Expert Comment

by:Michael Fowler
ID: 39224468
Sorry another thing, this method has the additional advantage that the workbook cannot be accessed if macros are disabled. In the past I have set up the Unlock page with a warning that macros must be enabled and information for the user on how to enable macros.

Michael
0
 

Author Closing Comment

by:developingprogrammer
ID: 39261310
guys thanks for all your help! it was indeed the sheet not being selected = )
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article descibes how to create a connection between Excel and SAP and how to move data from Excel to SAP or the other way around.
Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …

926 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question