Solved

# Range Value from formula

Posted on 2009-03-31
Medium Priority
404 Views
HI,

I'm trying to get this value from this:
Range("N2:N" & Cells(65536, "X").End(X1Up).Row)

The "N" column contains a formula: =(M2-L2)*1440/60

The Range works in columns with just a simple value (i.e. not formula) so I'm thinking the error that I receive is caused from this. This is the error:
Run-time error '1004':
Application-defined or object-defined error

Thank you,
vkimura
0
Question by:Victor Kimura
• 4
• 3
• 2
• +1

LVL 13

Expert Comment

ID: 24036092
Not reallysure what you're trying to accomplish there, but try this:

Range("N2:X65536").End(xlUp).Row
0

LVL 50

Expert Comment

ID: 24036171

Note that you rcode appears to be using "X1up" not "Xlup" - this will be causing an error

will return a range address of N2:Nnumber where number is the last used cell in column X
Cheers
Dave

0

LVL 85

Expert Comment

ID: 24036267
And FYI it's better to use Rows.count rather than hardcoding 65536 in - if you upgrade to 2007 or later your code may not work properly
0

LVL 50

Expert Comment

ID: 24036337
<Rory ..... baby not asleep or you are an early riser?>
0

LVL 85

Expert Comment

ID: 24036643
Both! (They are somewhat related) She was up at 12, 2 and 5, when I have to get up anyway! :)
0

Author Comment

ID: 24056602
Hi brettdj,

I receive (N2:N29). Is there is way to retrieve the values of N2:N29. Currently, there is a formula in the field:
=(M2-L2)*1440/60

This formula essentially takes two times (1:30 - 12:30)*1440/60 and produces 1. Which means one hour of class session. When I try:
MsgBox Range("N2:N" & Cells(65536, "X").End(xlUp).Row)

Any idea?
0

LVL 50

Expert Comment

ID: 24066322
Hi,
>Is there is way to retrieve the values of N2:N29
Yes. The code below displays all the addresses and relataed values in the Immediate window of the VBE
But what are you looking to do with the VBA, return all 28 values?
Cheers
Dave

``````
Sub GetEm()
Dim rng1 As Range, cel As Range
Set rng1 = Range("N2:N" & Cells(Rows.Count, "X").End(xlUp).Row)
For Each cel In rng1
Debug.Print cel.Address & " " & cel.Value
Next cel
End Sub
``````
0

Author Comment

ID: 24074275
Hi brettdj,

I wanted to return the values in this range and then simply copy them to another sheet. But I think I can figure the copying of the code to another worksheet. BTW, I'm not certain what the Debug.Print does but I didn't see anything when I executed the code. I viewed the values by adding the variable to the Add Watch list and created breakpoints to view the values.

vkimura
0

LVL 50

Accepted Solution

Dave earned 2000 total points
ID: 24074365
something like this will copy that range to B2 on the second sheet
see attached file
Cheers
Dave

``````Sub GetEm()
Dim rng1 As Range
Set rng1 = Range("N2:N" & Cells(Rows.Count, "X").End(xlUp).Row)
rng1.Copy Sheets(2).Range("b2")
End Sub
``````
sample---DJB.xls
0

Author Closing Comment

ID: 31565162
Hi brettdj,

Cordially,
vkimura
0

## Featured Post

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.