How do I make this code shorter? Its Result should be given tovar
How do I make this code shorter?
Would this work?
Sub Try()
Dim Rw As Long
Dim Cl As Long
Dim C As Long
Dim Valid As Boolean
With ActiveCell
Rw = .Row
Cl = .Column
End With
Valid = Rw = 2 And Rw <= 12 And _
Cl = 2 And Cl <= 22
If Not Valid Then Exit Sub
'// Get new column
C = 3 * Int((Cl + 4) / 3) - 2
'// Fill in Formula down to row 12
Range(Cells(Rw, C), Cells(12, C)).FormulaR1C1 = "=RC[-2]+RC[-1]"
End Sub
= = =
HTH
Dana DeLouis
Jay wrote:
Sub Try()
Dim x, a, BonRow, BonCol, Bon As Integer
Bon = ActiveCell.Row = 2 And ActiveCell.Row <= 12
BonRow = 12
BonCol = 4
If Bon And (ActiveCell.Column = 2 And ActiveCell.Column <= 4) Then
Cells(2, 4).Select
x = BonRow
Else
If Bon And (ActiveCell.Column = 5 And ActiveCell.Column <= 7) Then
Cells(2, 7).Select
x = BonRow
Else
If Bon And (ActiveCell.Column = 8 And ActiveCell.Column <= 10) Then
Cells(2, 10).Select
x = BonRow
Else
If Bon And (ActiveCell.Column = 11 And ActiveCell.Column <= 13) Then
Cells(2, 13).Select
x = BonRow
Else
If Bon And (ActiveCell.Column = 14 And ActiveCell.Column <= 16) Then
Cells(2, 16).Select
x = BonRow
Else
If Bon And (ActiveCell.Column = 17 And ActiveCell.Column <= 19) Then
Cells(2, 19).Select
x = BonRow
Else
If Bon And (ActiveCell.Column = 20 And ActiveCell.Column <= 22) Then
Cells(2, 22).Select
x = BonRow
End If
End If
End If
End If
End If
End If
End If
End If
Do
ActiveCell.FormulaR1C1 = "=(RC[-2])+(RC[-1])"
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=(RC[-2])+(RC[-1])"
Loop Until ActiveCell.Row = x
End Sub
|