Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 144
Default Can I set a variable to be equal to the range of an entire column?

Hi,

I am trying to set a variable named idrange to column D in a sheet - the
values in this column will vary (ie - values may go through row 54 but then
may be updated to have values through row 67, etc). I need to capture all
cells in column D that have values as each cell in column D that does have a
value will be evaluated in a subsequent equation in the code. I have not
been able to figure out how to set my variable to equal the range of column
D...below is that code I have - I get a "Runtime error '1004';" error with
this code - is it possible to do what I'm trying to do?

Sub purgepayment()

Dim payment
Dim opentranpay
Dim rownumpay As Integer
Dim idrange As Range
Dim payrange As Range
Dim y As Integer

Sheets("Member ID Report Master").Activate
Set idrange = Range(Columns("D:D"))




--
Robert
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 56
Default Can I set a variable to be equal to the range of an entire column?

Simply

foobar = Columns(4)


Should do what you want. However, you probably want to drop the "activate"
part, as it is unecesarry if you use:

Sheets("Member ID Report Master").columns(4)





"robs3131" wrote:

Hi,

I am trying to set a variable named idrange to column D in a sheet - the
values in this column will vary (ie - values may go through row 54 but then
may be updated to have values through row 67, etc). I need to capture all
cells in column D that have values as each cell in column D that does have a
value will be evaluated in a subsequent equation in the code. I have not
been able to figure out how to set my variable to equal the range of column
D...below is that code I have - I get a "Runtime error '1004';" error with
this code - is it possible to do what I'm trying to do?

Sub purgepayment()

Dim payment
Dim opentranpay
Dim rownumpay As Integer
Dim idrange As Range
Dim payrange As Range
Dim y As Integer

Sheets("Member ID Report Master").Activate
Set idrange = Range(Columns("D:D"))




--
Robert

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 144
Default Can I set a variable to be equal to the range of an entire col

Hi Ben,

This is actually a good point that you have brought up. From prior posts of
mine, it has sounded to me like "columns" and "rows" refer to the active
sheet, which in your example below is not necessarily "Member ID Report
Master". I infer this from a response to an ealier post I had - this
response in listed below. Can you please let me know if I am missing
something? Basically, I want to understand whether or not I SHOULD assume
that Excel will see the rows and columns in such statements as being rows and
columns within the sheet that is referenced in that line of code.

Below is a response I had to an earlier post of mine:

Sheets("Payment Sales Master").Range(Rows(2),
Rows(2).End(xlDown)).ClearContents

- If in the "Payment Sales Master" WS, OK, as Rows refers to the same sheet
as Range.
- If in a module AND "Payment Sales Master" is the ActiveSheet, OK, as Rows
refers to the same sheet as Range.
- If in a module AND "Payment Sales Master" is NOT the ActiveSheet, ERROR,
as Rows refers to the ActiveSheet, whilst as .Range refers to
Sheets("Payment Sales Master").

--
Robert


"Ben McBen" wrote:

Simply

foobar = Columns(4)


Should do what you want. However, you probably want to drop the "activate"
part, as it is unecesarry if you use:

Sheets("Member ID Report Master").columns(4)





"robs3131" wrote:

Hi,

I am trying to set a variable named idrange to column D in a sheet - the
values in this column will vary (ie - values may go through row 54 but then
may be updated to have values through row 67, etc). I need to capture all
cells in column D that have values as each cell in column D that does have a
value will be evaluated in a subsequent equation in the code. I have not
been able to figure out how to set my variable to equal the range of column
D...below is that code I have - I get a "Runtime error '1004';" error with
this code - is it possible to do what I'm trying to do?

Sub purgepayment()

Dim payment
Dim opentranpay
Dim rownumpay As Integer
Dim idrange As Range
Dim payrange As Range
Dim y As Integer

Sheets("Member ID Report Master").Activate
Set idrange = Range(Columns("D:D"))




--
Robert

  #4   Report Post  
Posted to microsoft.public.excel.programming
Jay Jay is offline
external usenet poster
 
Posts: 671
Default Can I set a variable to be equal to the range of an entire column?

Hi Robert -

Change
Set idrange = Range(Columns("D:D"))

To
Set idrange = Columns("D:D")

---
It's redundant (and not permitted) to use an explicitly defined range as the
sole argument of the Range property. You've correctly called for column D
with the Columns property, but the Columns property (in Columns("D:D"))
already returns the range you want. Therefore, your extra use of 'Range'
emulates the redundant statement:

Range(Range("D1:D65536")), which is not permitted.

Range("D1:D65536") or Columns("D:D") is all that is needed. You can also
simplify to Columns("D").

--
Jay

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5
Default Can I set a variable to be equal to the range of an entire col

To add to that, if you are only looking for cells that have a value, you can
try using the SpecialCells property.

Try this:
Set idrange = Columns("D").SpecialCells(xlCellTypeConstants, xlNumbers)

Or if you are looking for cells with other characteristics there are other
constants to use with SpecialCells... take a look in the help on it.

-jputman


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
Count Unique Values in a entire column, not just range Brian Excel Worksheet Functions 10 May 16th 09 08:48 PM
How to check for a date range match in one column and then count thevalues equal to in another Jon[_6_] Excel Worksheet Functions 5 January 18th 08 11:54 AM
How do I make a range of cells in a column equal to another cell jggsfl New Users to Excel 1 December 21st 07 01:15 AM
setting a range variable equal to the value of a string variable Pilgrim Excel Programming 2 July 1st 04 11:32 PM
how do i set an entire row or column to a range? strataguru[_13_] Excel Programming 7 December 25th 03 04:08 AM


All times are GMT +1. The time now is 10:24 AM.

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

About Us

"It's about Microsoft Excel"