Thanks for the response, but unfortunately this doesn't work with the XIRR function as it only accepts 1-dimensional ranges. The resulting ‘urmg’ variable is a 2-dimensional range since the first range is in column B and the second range is in column C.
The reulting urmg range basically looks like this: 100 0 0 0 -100 0 -100 304 I need it to be like: -100 0 -100 -100 304 I need to append "C4" to the 1-dimensional range "B1:B4" (as if C4 were cut and pasted to B5 and the range was “B1:B5”) and have the ‘unrng’ be a 1-dimensional range only. Do you know of a way to do this? Thanks. On Sep 28, 12:17 pm, ashish koul <koul.ash...@gmail.com> wrote: > Sub union_data() > Dim s As Range, unrng As Range > Set unrng = Union(Range("b1:b4"), Range("c4")) > For Each s In unrng > MsgBox s.Value > Next > End Sub > > > > > > On Wed, Sep 28, 2011 at 9:04 PM, excelCPA <jon.wester...@gmail.com> wrote: > > I am trying (unsuccessfully) to dynamically transform a single column > > non-contiguous data range to single column contiguous range using VBA, > > basically dynamically appending the second range to the first. > > > My spreadsheet is as follows: > > > Column A contains a series of dates in sequential order > > Column B contains cash flows (+/-) associated with each date > > Column C contains the account NAV at each date immediately following > > the cash flow (this includes investment gains/losses between dates) > > > Right now, my dataset looks like this: > > > A B C > > Date CF NAV > > 1/1/11 -100 100 > > 1/31/11 0 102 > > 2/15/11 -100 205 > > 2/28/11 -100 304 > > > What I'm ultimately trying to do is create a "rolling" IRR at each > > date in column D using the XIRR function of Excel. The problem is > > that XIRR only accepts contiguous (1 column or 1 row) cash flows and > > dates. The terminal value (NAV) required for the calculation at each > > date is located in column C, therefore I’ve decided to write my own > > function in VBA. > > > So far I've tried using the Application.Union function in VBA with no > > luck: > > > Application.Union("B1:B4","C4") hoping to return a single column range > > like this: > > -100 > > 0 > > -100 > > -100 > > 304 > > > Basically, I’m appending the terminal value (column C) to the cash > > flow series range (column B). > > > Any experience/advice on joining ranges into a single column > > contiguous range would be much appreciated. Thank you. > > > -- > > > ---------------------------------------------------------------------------------- > > Some important links for excel users: > > 1. Follow us on TWITTER for tips tricks and links : > >http://twitter.com/exceldailytip > > 2. Join our LinkedIN group @http://www.linkedin.com/groups?gid=1871310 > > 3. Excel tutorials athttp://www.excel-macros.blogspot.com > > 4. Learn VBA Macros athttp://www.quickvba.blogspot.com > > 5. Excel Tips and Tricks athttp://exceldailytip.blogspot.com > > > To post to this group, send email to excel-macros@googlegroups.com > > > <><><><><><><><><><><><><><><><><><><><><><> > > Like our page on facebook , Just follow below link > >http://www.facebook.com/discussexcel > > -- > *Regards* > * * > *Ashish Koul* > *http://www.excelvbamacros.com/* > > P Before printing, think about the environment.- Hide quoted text - > > - Show quoted text - -- ---------------------------------------------------------------------------------- Some important links for excel users: 1. Follow us on TWITTER for tips tricks and links : http://twitter.com/exceldailytip 2. Join our LinkedIN group @ http://www.linkedin.com/groups?gid=1871310 3. Excel tutorials at http://www.excel-macros.blogspot.com 4. Learn VBA Macros at http://www.quickvba.blogspot.com 5. Excel Tips and Tricks at http://exceldailytip.blogspot.com To post to this group, send email to excel-macros@googlegroups.com <><><><><><><><><><><><><><><><><><><><><><> Like our page on facebook , Just follow below link http://www.facebook.com/discussexcel