Fill Right Variable Number of Columns, then Calculate Using Of
Whoa! Pretty Cool stuff Dave! I tried your version and it works great. In
the meantime I tried a few things and got this to work:
Sub BeginMonth()
Dim Mth As String
Dim Nbr As Long
Mth = InputBox("Please enter a beginning month.")
Range("C14").Select
ActiveCell = Mth
Nbr = InputBox("Please enter total number of months.")
Range("Z1").Select
ActiveCell = Nbr
Range("C14").Select
Selection.AutoFill Destination:=Range _
(Selection, Selection.Resize(1, Nbr))
End Sub
Any suggestions as to what to do for the second part?
--
RyGuy
"Dave Peterson" wrote:
Maybe something like:
Option Explicit
Sub BeginMonth()
Dim Mth As String
Dim Nbr As Long
Do
Mth = InputBox(prompt:="Please enter a beginning month.", _
Default:=Format(Date, "mmmm"))
If Mth = "" Then
MsgBox "Quitting!"
Exit Sub
End If
If IsDate(Mth & " 1, 2007") Then
'whew, it's ok
Exit Do
Else
MsgBox "Please enter a month"
End If
Loop
ActiveSheet.Range("C14").Value = Mth
Nbr = CLng(Application.InputBox _
(prompt:="Please enter total number of months.", Type:=1))
If Nbr < 2 Then
MsgBox "Quitting!"
Exit Sub
End If
With ActiveSheet
.Range("C14").AutoFill Destination:=.Range("C14").Resize(1, Nbr)
End With
End Sub
Application.inputbox with type:=1 requires that the user enter a number. It
makes validating the input easier.
ryguy7272 wrote:
I am stuck on (what is probably) a simple macro. I am trying to prompt a
user to enter a month into C14 and then enter a number (let€„¢s say 12 but it
varies) into another InputBox and then spread the months over that range.
This is what I have so far:
Sub BeginMonth()
Dim Mth As String
Dim Nbr As Long
Mth = InputBox("Please enter a beginning month.")
Range("C14").Select
ActiveCell = Mth
Nbr = InputBox("Please enter total number of months.")
Selection.AutoFill Destination:=Range("C14:D14"), Type:=xlFillDefault
Range("C14:D14").Select
ActiveCell.Offset(0, Nbr).Activate
With ActiveSheet
.Range("C14").AutoFill Destination:=.Range("C14" & Nbr)
End With
End Sub
It fails on AutoFill line.
Also, I€„¢d like to do a simple calculation in cell C15, such as =(D10/E27).
Then, I€„¢d like to fill right as many columns as the user enters (as mentioned
above, perhaps 12, but it will vary). Finally, in C16, I€„¢d like to do
another simple calculation, such as =(C15*K10), and again fill right and then
shift right one column (Offset 0,1) and down one row, then right one column
and down two rows, and right one column and down 3 rows, etc., until it
reaches the final column (12 or whatever the user enters).
I€„¢m sure it can be done and I€„¢m taking a crack at it now. If anyone has any
suggestions, please share. If I finish it off before I hear back from anyone
I€„¢ll post the solution here.
Regards,
Ryan--
--
RyGuy
--
Dave Peterson
|