Solved

Index ranges by 1

Posted on 2013-11-26
7
105 Views
Last Modified: 2013-11-26
Folks,
In my worksheet Range A4 = Range H2
Range H2 = Today()
I would like to be able to increase ranges A5 = A9 by A4+1
In other words if the date in A4 = 11/26/2013 the the dates in A5:A9 would be incremented by 1 day such that A5 = 11/27/2013...
0
Comment
Question by:Frank Freese
  • 4
  • 3
7 Comments
 
LVL 23

Expert Comment

by:NBVC
ID: 39678827
Try:

in A5:

=$A$4+ROWS($A$5:$A5)

copied down
0
 

Author Comment

by:Frank Freese
ID: 39678887
Whoops...my mistake. I'm not going down...going across. I'll try substitute Column for Row?
Also need in VBA format
0
 
LVL 23

Expert Comment

by:NBVC
ID: 39678929
The formula would be:

=$A$4+COLUMNS($A$5:A$5)

simple macro:

Sub CummulativeDate()
For i = 2 To 6
 Cells(4, i) = Cells(4, 1) + i - 1
Next i

End Sub

Open in new window

0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 

Author Comment

by:Frank Freese
ID: 39679035
Here's the code I'm using in my procedure:

Dim NextCell As Long
Range("A4") = Range("H2")
For NextCell = 2 To 8
    Cells(4, NextCell) = Cells(4, 1) + NextCell - 1
Next NextCell

Open in new window

What happens is that the first cell (B4) is correctly populated, but then I drop completly out of the sub to another sub and never get to the NextCell
0
 

Author Comment

by:Frank Freese
ID: 39679056
I recorded a macro then copy the below code to my subprocedure and it worked.
Range("B4").Select
    ActiveCell.FormulaR1C1 = "=RC[-1]+1"
    Range("B4").Select
    Selection.AutoFill Destination:=Range("B4:H4"), Type:=xlFillDefault
    Range("B4:H4").Select

Open in new window

Can I award points for being "close"?
0
 
LVL 23

Accepted Solution

by:
NBVC earned 500 total points
ID: 39679141
You can replace all of that with:

With Range("B4")
    .FormulaR1C1 = "=RC[-1]+1"
    .AutoFill Destination:=Range("B4:H4"), Type:=xlFillDefault
End With

Open in new window

so that you eliminate the use of Select (which is known to be inefficient and redundant).
0
 

Author Closing Comment

by:Frank Freese
ID: 39679309
good job! thanks
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This Article is a follow-up to my Mappit! Addin Article (http://www.experts-exchange.com/A_2613.html), it was inspired by an email posting I made to EUSPRIG (http://www.eusprig.org/index.htm), I will briefly cover: 1) An overvieā€¦
How to get Spreadsheet Compare 2016 working with the 64 bit version of Office 2016
The viewer will learn how to use the =DISCRINV command to create a discrete random variable, use this command to model a set of probabilities and outcomes in a Monte Carlo simulation, and learn how to find the standard deviation of a set of probabilā€¦
This Micro Tutorial will demonstrate how to create pivot charts out of a data set. I also added a drop-down menu which allows to choose from different categories in the data set and the chart will automatically update.

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question