How to using Address in selected Range
First off, the Range wouldn't be replacing the Offset property, it would be
replacing the c.Offest reference (assuming the "c" from your For..Each
loop). Now, assuming the "c" from your For..Each loop is being used to
establish the row number, I think you **think** you are looking for this...
Range("B" & c.Row).Value
or, alternately, like this...
Cells(c.Row, "B").Value
HOWEVER, doing this may (more than likely if your are not careful) end up
referencing the wrong worksheet. The "c" in your For..Each loop
automatically references the specified range on the worksheet you specified
for it in the Set statement... on the other hand, the above alternates, as
constructed, will reference the indicated cell on the ActiveSheet... the
Range or Cells calls have no way of knowing you want to reference a
different worksheet unless you tell it that. So, in your given For..Each
loop, you would have to do what you ask this way...
k1 = c.Value + "|" & Sheets(SchShtName).Range("B" & c.Row).Value
or, alternately, like this...
k1 = c.Value + "|" & Sheets(SchShtName).Cells(c.Row, "B").Value
And, you would have to have the Sheet reference attached to the Range call
each time you used it. Personally, I would continue using Offset myself.
--
Rick (MVP - Excel)
"moonhk" wrote in message
...
Hi All
In below part of VBA, I am using offset to build k1 value. How to
using range("B" & row_value) replace offset (0,1) ?
Dim rngToSearch As Range, rngToCheck As Range
Dim SchShtRange As String
Dim SchShtName As String
Dim k1 As String
SchShtRange = "A1:A5"
SchShtName = "RangeA"
Set rngToSearch = Sheets(SchShtName).Range(SchShtRange) 'change to
suit
For Each c In rngToSearch
If c.Value < "" Then
k1 = c.Value + "|" & c.Offset(0,1).Value
...
|