Making the macro more flexible?

M

mariasa

Hi,

Could you please help me make this code more flexible?

Basically right now it performs the procedure only for the sheet name
943. But i have 66 sheets that i want it to take care of and they ar
listed on sheet 1 of my workbook (they are not consecutive number
however, so the macro has to go to sheet1 and loop through an array o
sheet numbers/names and perform the below functions on them. Hope thi
doesnt sound too confusing.

Thanks so much.

Regards,
Maria

Sub CommandButtonDRG_Click()


Dim i As Integer
Dim curCell As Date
Dim startDate As Date
Dim endDate As Date

Dim SheetNumber As String

SheetNumber = "943"

startDate = Sheets(SheetNumber).Range("c2").Value
endDate = Sheets(SheetNumber).Range("e2").Value
Sheets(SheetNumber).Columns("C:C").Select
Selection.NumberFormat = "m/d/yyyy"

Sheets(SheetNumber).Range("c2").Select
ActiveCell.FormulaR1C1 = startDate

i = 3
Do
curCell = Sheets(SheetNumber).Cells(i, 3).Select
ActiveCell.FormulaR1C1 = "=dvstradedate(R[-1]C,1)"
i = i + 1
Loop Until Sheets(SheetNumber).Cells(i - 1, 3).Value = endDate
End

End Su
 
T

Tom Ogilvy

assume the sheet names are listed in A1 to A whatever in sheet1 with no blank
cells in the list (adjust to fit actual situation)

Sub CommandButtonDRG_Click()


Dim i As Long
Dim curCell As Date
Dim startDate As Date
Dim endDate As Date
Dim rng as Range, cell as Range

Dim SheetNumber As String
with Worksheets("Sheet1")
set rng = .Range(.Cells(1,1),.Cells(1,1).End(xldown))
End with

SheetNumber = "943"
for each cell in rng
SheetNumber = rng.Text
sheets(sheetNumber).Activate
startDate = Sheets(SheetNumber).Range("c2").Value
endDate = Sheets(SheetNumber).Range("e2").Value
Sheets(SheetNumber).Columns("C:C").Select
Selection.NumberFormat = "m/d/yyyy"

Sheets(SheetNumber).Range("c2").Select
ActiveCell.FormulaR1C1 = startDate

i = 3
Do
curCell = Sheets(SheetNumber).Cells(i, 3).Select
ActiveCell.FormulaR1C1 = "=dvstradedate(R[-1]C,1)"
i = i + 1
Loop Until Sheets(SheetNumber).Cells(i - 1, 3).Value = endDate
End

Next

End Sub
 
M

mariasa

Tom, thanks for the suggestion. I tried it out and it gives me th
error, 'invalid use of null' :-(

Does anyone else have any suggestions on how this could work?

Thanks guys!!!

Best,
Mari
 
T

Tom Ogilvy

there was a typo in the code:

change
SheetNumber = rng.Text
to
SheetNumber = cell.Text

sorry you couldn't figure it out :-(
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top