Solved

Index ranges by 1

Posted on 2013-11-26
7
107 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

 

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

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

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

This article descibes how to create a connection between Excel and SAP and how to move data from Excel to SAP or the other way around.
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 demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.

623 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