Code work but a easier way to do this.

G

Guest

Hi to all. My code work nice but is a little long. I know that it could be
simplefy using value and other codes that I don't know. can anybody help
me?? I have to run this from column C to N. Here is the code.

Sub Run_Macro()

monthfree = Range("C7").Value
If monthfree = Empty Then
Call Execute

SightPurch = Range("A36").Value
Range("C7").Select
ActiveCell.FormulaR1C1 = SightPurch
InvoiceElite = Range("A37").Value
Range("C8").Select
ActiveCell.FormulaR1C1 = InvoiceElite
Unidentified = Range("A41").Value
Range("C12").Select
ActiveCell.FormulaR1C1 = Unidentified
Else

monthfree = Range("D7").Value
If monthfree = Empty Then
Call Execute

SightPurch = Range("A36").Value
Range("D7").Select
ActiveCell.FormulaR1C1 = SightPurch
InvoiceElite = Range("A37").Value
Range("D8").Select
ActiveCell.FormulaR1C1 = InvoiceElite
Unidentified = Range("A41").Value
Range("D12").Select
ActiveCell.FormulaR1C1 = Unidentified
Else

monthfree = Range("E7").Value
If monthfree = Empty Then
Call Execute

SightPurch = Range("A36").Value
Range("E7").Select
ActiveCell.FormulaR1C1 = SightPurch
InvoiceElite = Range("A37").Value
Range("E8").Select
ActiveCell.FormulaR1C1 = InvoiceElite
Unidentified = Range("A41").Value
Range("E12").Select
ActiveCell.FormulaR1C1 = Unidentified
Else
'AGAIN AND AGAIN UNTIL COLUMN "N"
End If
End If
End If


End Sub
 
G

George Nicholson

** untested air code **

Dim wks as Worksheet

Set wks = ActiveSheet

For c = 3 to 14 'columns C to N
If Len(wks.Cells(7,c).Value) = 0 Then
Call Execute

wks.Cells(7,c).FormulaR1C1 = wks.Range("A36").Value
wks.Cells(8,c).FormulaR1C1 = wks.Range("A37").Value
wks.Cells(12,c).FormulaR1C1 = wks.Range("A41").Value
' Exit loop after the first empty cell is encountered
Exit For
End If
Next c


You *could* also bracket the "For...Next" loop with a "With...End With"
construct:
With wks
....
End With
This would further simplify the code (and improve performance), but I chose
not to do that here for clarity (i.e., too much information at one time),
but feel free to look it up in VBA Help if you think you are ready for it.

HTH,
 

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