Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default .offset() function


Hi,

can someone please let me know what the Dowhile loop is doing please?

Set ws = ThisWorkbook.Sheets("WarrantDetails")
Set rgSource
ThisWorkbook.Sheets("SG_WarrantRic").Range("ric_ta ble")
Set rgTarget
ThisWorkbook.Sheets("WarrantDetails").Range("ric_l ist")
Set rgUnder
ThisWorkbook.Sheets("WarrantDetails").Range("under _list")

nRow = 0
ntRow = 0


ws.Cells.ClearContents

Do While Not Left(rgSource.Offset(nRow, 0).Value, 4) = "#N/A"
For nCol = 1 To 14
If Trim(rgSource.Offset(nRow, nCol - 1).Value) < "" Then
rgTarget.Offset(ntRow, 0).Value = rgSource.Offset(nRow
nCol - 1).Value
ntRow = ntRow + 1
End If
Next nCol
nRow = nRow + 1
Loop


Thanks

--
owl52
-----------------------------------------------------------------------
owl527's Profile: http://www.excelforum.com/member.php...fo&userid=2091
View this thread: http://www.excelforum.com/showthread.php?threadid=47619

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,163
Default .offset() function

It is looping through the rows beginning at the upper left of rgSource. As
it steps through the rows it is looking at the first column of each row:
rgSource.Offset(nRow,0). Offset(n,m) finds the cell that is n rows and m
columns from the range it is used on. So starting at Offset(0,0) it is
referring to the upper left cell of rgSource. Each time it loops it is
adding one to the row offset (nRow = NRow +1, just before the Loop statement)
while the column offset remains zero, so it is stepping down the rows and
looking in the first column. It is testing the value it finds there to see
if it begins with "#N/A"; when it finds this it stops checking the rows. In
the meantime (i.e. before it reaches #N/A) the code will loop through 14
columns of the row (Offset(nRow,NCol-1)) and check for a blank cell (or only
spaces); if there is any value other than blank it copies the value to the
target range (rgTarget). By adding 1 to ntRow each time it copies something
it is stepping down 1 row in the target range; so it is converting the rows
of values across the source range into a column in the target range.
--
- K Dales


"owl527" wrote:


Hi,

can someone please let me know what the Dowhile loop is doing please?

Set ws = ThisWorkbook.Sheets("WarrantDetails")
Set rgSource =
ThisWorkbook.Sheets("SG_WarrantRic").Range("ric_ta ble")
Set rgTarget =
ThisWorkbook.Sheets("WarrantDetails").Range("ric_l ist")
Set rgUnder =
ThisWorkbook.Sheets("WarrantDetails").Range("under _list")

nRow = 0
ntRow = 0


ws.Cells.ClearContents

Do While Not Left(rgSource.Offset(nRow, 0).Value, 4) = "#N/A"
For nCol = 1 To 14
If Trim(rgSource.Offset(nRow, nCol - 1).Value) < "" Then
rgTarget.Offset(ntRow, 0).Value = rgSource.Offset(nRow,
nCol - 1).Value
ntRow = ntRow + 1
End If
Next nCol
nRow = nRow + 1
Loop


Thanks.


--
owl527
------------------------------------------------------------------------
owl527's Profile: http://www.excelforum.com/member.php...o&userid=20916
View this thread: http://www.excelforum.com/showthread...hreadid=476190


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
large function result as reference for offset function Z Excel Discussion (Misc queries) 1 May 5th 09 12:55 AM
offset() function #VALUE! H.C. Chen Excel Discussion (Misc queries) 5 May 1st 09 03:11 PM
XL2002 - OFFSET function and LARGE function Trevor Williams Excel Worksheet Functions 3 March 3rd 08 01:40 PM
Offset function with nested match function not finding host ss. MKunert Excel Worksheet Functions 1 March 21st 06 10:46 PM
help with offset function Mexage Excel Worksheet Functions 0 May 24th 05 05:18 PM


All times are GMT +1. The time now is 02:41 AM.

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"