Microsoft Excel - how i can go to the sheet which i given name before dynamically.

Asked By Virendra
24-Aug-11 12:52 AM
Sample Data with macro.zip

Hi,

I have record one macro and taken some help from internet. now i want to make this macro shorter and add to one step " whereever is sheet name FINAL it should go to the that sheet which i have given name in INput box . can it possible? i am putting my recored macro here its too long.. sorry...

Sub GraphG011()

Dim ActNm As String

    With ActiveWorkbook.Sheets
    .Add After:=Worksheets(Worksheets.Count)
    End With
    ActNm = ActiveSheet.Name
    On Error Resume Next
    ActiveSheet.Name = "FINAL"
NoName: If Err.Number = 1004 Then ActiveSheet.Name = InputBox("Give name.")
    If ActiveSheet.Name = ActNm Then GoTo NoName
    On Error GoTo 0
   
    Sheets("Macro Sheet").Select
    Range("DATA").Select
    Selection.Copy
    Sheets("FINAL").Select
    Range("A5").Select
    ActiveSheet.Paste
    Sheets("Macro Sheet").Select
    Range("C4:D4").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("FINAL").Select
    Range("B4").Select
    ActiveSheet.Paste
    Range("B5").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "='Macro Sheet'!RC[1]/'Macro Sheet'!R5C[1]*100"
    Range("B5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("C5").Select
    ActiveCell.FormulaR1C1 = "='Macro Sheet'!RC[1]/'Macro Sheet'!R5C[1]*100"
    Range("C5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Sheets("Macro Sheet").Select
    Range("DATA").Select
    Selection.Copy
    Sheets("FINAL").Select
    Range("D5").Select
    ActiveSheet.Paste
    Sheets("Macro Sheet").Select
    Range("C4:D4").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("FINAL").Select
    Range("E4").Select
    ActiveSheet.Paste
    Range("E5").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "='Macro Sheet'!RC[-2]-'Macro Sheet'!RC[-3]"
    Range("E5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("F5").Select
    ActiveCell.FormulaR1C1 = "='Macro Sheet'!RC[-2]-'Macro Sheet'!RC[-3]"
    Range("F5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Sheets("Macro Sheet").Select
    Range("DATA").Select
    Selection.Copy
    Sheets("FINAL").Select
    Range("G5").Select
    ActiveSheet.Paste
    Sheets("Macro Sheet").Select
    Range("C4:D4").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("FINAL").Select
    Range("H4").Select
    ActiveSheet.Paste
    Range("H5").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=('Macro Sheet'!RC[-5]/'Macro Sheet'!RC[-6]-1)*100"
    Range("H5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("I5").Select
    ActiveCell.FormulaR1C1 = "=('Macro Sheet'!RC[-5]/'Macro Sheet'!RC[-6]-1)*100"
    Range("I5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("B3").Select
    ActiveCell.FormulaR1C1 = "PDM"
    Range("B3:C3").Select
    With Selection
      .HorizontalAlignment = xlCenter
      .VerticalAlignment = xlBottom
      .WrapText = False
      .Orientation = 0
      .AddIndent = False
      .IndentLevel = 0
      .ShrinkToFit = False
      .ReadingOrder = xlContext
      .MergeCells = False
    End With
    Selection.Merge
    Range("E3").Select
    ActiveCell.FormulaR1C1 = "Gain"
    Range("E3:F3").Select
    With Selection
      .HorizontalAlignment = xlCenter
      .VerticalAlignment = xlBottom
      .WrapText = False
      .Orientation = 0
      .AddIndent = False
      .IndentLevel = 0
      .ShrinkToFit = False
      .ReadingOrder = xlContext
      .MergeCells = False
    End With
    Selection.Merge
    Range("H3").Select
    ActiveCell.FormulaR1C1 = "Evol"
    Range("H3:I3").Select
    With Selection
      .HorizontalAlignment = xlCenter
      .VerticalAlignment = xlBottom
      .WrapText = False
      .Orientation = 0
      .AddIndent = False
      .IndentLevel = 0
      .ShrinkToFit = False
      .ReadingOrder = xlContext
      .MergeCells = False
    End With
    Selection.Merge
    Range("B3:C34").Select
    ActiveWindow.SmallScroll Down:=-6
    Selection.NumberFormat = "0.0"
    With Selection
      .HorizontalAlignment = xlCenter
      .VerticalAlignment = xlCenter
      .Orientation = 0
      .AddIndent = False
      .IndentLevel = 0
      .ShrinkToFit = False
      .ReadingOrder = xlContext
    End With
    Range("E3:F34").Select
    Selection.NumberFormat = "#,##0"
    With Selection
      .HorizontalAlignment = xlCenter
      .VerticalAlignment = xlCenter
      .Orientation = 0
      .AddIndent = False
      .IndentLevel = 0
      .ShrinkToFit = False
      .ReadingOrder = xlContext
    End With
    Range("H3:I34").Select
    Selection.NumberFormat = "0.0"
    With Selection
      .HorizontalAlignment = xlCenter
      .VerticalAlignment = xlCenter
      .Orientation = 0
      .AddIndent = False
      .IndentLevel = 0
      .ShrinkToFit = False
      .ReadingOrder = xlContext
    End With
    Range("H5:I34").Select
    With Selection.Interior
      .ColorIndex = 34
      .Pattern = xlSolid
    End With
    Range("E5:F34").Select
    With Selection.Interior
      .ColorIndex = 40
      .Pattern = xlSolid
    End With
    Range("B5:C34").Select
    With Selection.Interior
      .ColorIndex = 38
      .Pattern = xlSolid
    End With
    ActiveWindow.SmallScroll Down:=-9
    Range("A6:A34").Select
    Selection.Interior.ColorIndex = 36
    Range("A5:A34").Select
    Selection.Copy
    Range("D5").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
      SkipBlanks:=False, Transpose:=False
    Range("G5").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
      SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("E5:F34").Select
    Selection.Interior.ColorIndex = 37
    Range("E3:F3").Select
    With Selection.Interior
      .ColorIndex = 37
      .Pattern = xlSolid
    End With
    Range("H3:I3").Select
    With Selection.Interior
      .ColorIndex = 34
      .Pattern = xlSolid
    End With
    Range("B3:C3").Select
    With Selection.Interior
      .ColorIndex = 38
      .Pattern = xlSolid
    End With
    Sheets("Macro Sheet").Select
    Range("B2").Select
    Selection.Copy
    Sheets("FINAL").Select
    Range("B2").Select
    ActiveSheet.Paste
    Range("B2:I2").Select
    Application.CutCopyMode = False
    With Selection
      .HorizontalAlignment = xlCenter
      .WrapText = False
      .Orientation = 0
      .AddIndent = False
      .IndentLevel = 0
      .ShrinkToFit = False
      .ReadingOrder = xlContext
      .MergeCells = False
    End With
    Selection.Merge
    Selection.Interior.ColorIndex = 44
    Range("J5").Select
    Sheets("Macro Sheet").Select
    Range("DATA").Select
    Selection.Copy
    Sheets("FINAL").Select
    Range("L5").Select
    ActiveSheet.Paste
    Range("B35").Select
    Sheets("Macro Sheet").Select
    Range("F4:G4").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("FINAL").Select
    Range("M4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
    Sheets("Macro Sheet").Select
    Range("DATA").Select
    Sheets("FINAL").Select
    Range("P4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
    Range("S4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
    Sheets("Macro Sheet").Select
    Range("DATA").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("FINAL").Select
    Range("O5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
    Range("R5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
    Range("M5").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "='Macro Sheet'!RC[-7]/'Macro Sheet'!R5C[-7]*100"
    Range("M5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("N5").Select
    ActiveCell.FormulaR1C1 = "='Macro Sheet'!RC[-7]/'Macro Sheet'!R5C[-7]*100"
    Range("N5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("P5").Select
    ActiveCell.FormulaR1C1 = "='Macro Sheet'!RC[-10]-'Macro Sheet'!RC[-11]"
    Range("P5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("Q5").Select
    ActiveCell.FormulaR1C1 = "='Macro Sheet'!RC[-10]-'Macro Sheet'!RC[-11]"
    Range("Q5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    ActiveWindow.ScrollColumn = 2
    Range("S5").Select
    ActiveCell.FormulaR1C1 = "=('Macro Sheet'!RC[-13]/'Macro Sheet'!RC[-14]-1)*100"
    Range("S5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("T5").Select
    ActiveCell.FormulaR1C1 = "=('Macro Sheet'!RC[-13]/'Macro Sheet'!RC[-14]-1)*100"
    Range("T5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    ActiveWindow.ScrollColumn = 1
    Range("A3:I34").Select
    ActiveWindow.SmallScroll Down:=-12
    Selection.Copy
    ActiveWindow.SmallScroll Down:=-6
    Range("L3").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
      SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("M3:N3").Select
    ActiveCell.FormulaR1C1 = "PDM"
    Range("P3:Q3").Select
    ActiveCell.FormulaR1C1 = "Gain"
    Range("S3:T3").Select
    ActiveCell.FormulaR1C1 = "Evol"
    Range("M4").Select
    Sheets("Macro Sheet").Select
    Range("E2").Select
    Selection.Copy
    Sheets("FINAL").Select
    Range("M2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
    Range("M2:T2").Select
    Application.CutCopyMode = False
    With Selection
      .HorizontalAlignment = xlCenter
      .VerticalAlignment = xlBottom
      .WrapText = False
      .Orientation = 0
      .AddIndent = False
      .IndentLevel = 0
      .ShrinkToFit = False
      .ReadingOrder = xlContext
      .MergeCells = False
    End With
    Selection.Merge
    With Selection.Interior
      .ColorIndex = 42
      .Pattern = xlSolid
    End With
    Selection.Font.Bold = True
    Range("M2:T3").Select
    Selection.Font.Bold = False
    Selection.Font.Bold = True
    Range("B2:I3").Select
    Selection.Font.Bold = False
    Selection.Font.Bold = True
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.SmallScroll ToRight:=7
    Sheets("Macro Sheet").Select
    Range("DATA").Select
    Selection.Copy
    Sheets("FINAL").Select
    Range("W5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
    Range("Z5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
    Range("AC5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
    Sheets("Macro Sheet").Select
    Range("I4:J4").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("FINAL").Select
    Range("X4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
    Range("AA4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
    Range("AD4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
    Sheets("Macro Sheet").Select
    Range("H2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("FINAL").Select
    Range("X2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
    Range("X2:AE2").Select
    Application.CutCopyMode = False
    With Selection
      .HorizontalAlignment = xlCenter
      .VerticalAlignment = xlBottom
      .WrapText = False
      .Orientation = 0
      .AddIndent = False
      .IndentLevel = 0
      .ShrinkToFit = False
      .ReadingOrder = xlContext
      .MergeCells = False
    End With
    Selection.Merge
    With Selection.Interior
      .ColorIndex = 41
      .Pattern = xlSolid
    End With
    Range("X5").Select
    ActiveCell.FormulaR1C1 = "='Macro Sheet'!RC[-15]/'Macro Sheet'!R5C[-15]*100"
    Range("X5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("Y5").Select
    ActiveCell.FormulaR1C1 = "='Macro Sheet'!RC[-15]/'Macro Sheet'!R5C[-15]*100"
    Range("Y5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Sheets("FINAL").Select
    Range("AA5").Select
    ActiveCell.FormulaR1C1 = "='Macro Sheet'!RC[-18]-'Macro Sheet'!RC[-19]"
    Range("AA5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("AB5").Select
    ActiveCell.FormulaR1C1 = "='Macro Sheet'!RC[-18]-'Macro Sheet'!RC[-19]"
    Range("AB5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("AD5").Select
    ActiveCell.FormulaR1C1 = "=('Macro Sheet'!RC[-21]/'Macro Sheet'!RC[-22]-1)*100"
    Range("AD5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("AE5").Select
    ActiveCell.FormulaR1C1 = "=('Macro Sheet'!RC[-21]/'Macro Sheet'!RC[-22]-1)*100"
    Range("AE5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, _
ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("A3:I34").Select
    Selection.Copy
    Range("W3").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
      SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("X3:Y3").Select
    ActiveCell.FormulaR1C1 = "PDM"
    Range("AA3:AB3").Select
    ActiveCell.FormulaR1C1 = "Gain"
    Range("AD3:AE3").Select
    ActiveCell.FormulaR1C1 = "Evol"
    Range("X2:AE2").Select
    Selection.Font.Bold = True
    Range("A2").Select
    ActiveWindow.DisplayGridlines = False
    Columns("D:D").Select
    Selection.ColumnWidth = 12
    Columns("O:O").Select
    Selection.ColumnWidth = 12
    ActiveWindow.SmallScroll ToRight:=5
    Selection.ColumnWidth = 12
    ActiveWindow.SmallScroll ToRight:=8
    Columns("Z:Z").ColumnWidth = 12
    Columns("Z:Z").ColumnWidth = 12
    Range("A6").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Sort Key1:=Range("F6"), Order1:=xlDescending, Header:=xlNo, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
      DataOption1:=xlSortNormal
    ActiveWindow.SmallScroll ToRight:=5
    Range("L6").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Sort Key1:=Range("Q6"), Order1:=xlDescending, Header:=xlNo, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
      DataOption1:=xlSortNormal
    ActiveWindow.SmallScroll ToRight:=2
    Range("W6").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Sort Key1:=Range("AB6"), Order1:=xlDescending, Header:=xlNo, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
      DataOption1:=xlSortNormal
    Range("A5:I5").Select
    Selection.Interior.ColorIndex = 40
    Selection.Copy
    Range("L5").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
      SkipBlanks:=False, Transpose:=False
    Range("W5").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
      SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("X5:Y5").Select
    Selection.ClearContents
    Range("M5:N5").Select
    Selection.ClearContents
    Range("B5:C5").Select
    Selection.ClearContents
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("A3").Select
End Sub

  Pichart Y. replied to Virendra
24-Aug-11 05:53 AM

Hi Sirendra,

Yes you can input new name for your new sheet throuh inputbox( ) like this

    NewWhName = InputBox("Input your new Name for this worksheet")
    ActiveSheet.Name = NewWhName
Then any name that you will put in the inputbox will be your new worksheet name.
 
Here is attachment...--->Sample Data with macro_AdjCode2.zip


Pichart Y.

and here below is your new code, (shorter but still seems to be long, with formating and formula)
------------------ Code start here -----------------------

Sub GraphG011()

Dim NewWhName As String

    With ActiveWorkbook.Sheets
    .Add After:=Worksheets(Worksheets.Count)
    End With
   
    NewWhName = InputBox("Input your new Name for this worksheet")
    ActiveSheet.Name = NewWhName

    Sheets(NewWhName).Select
    Sheets("Macro Sheet").Range("DATA").Copy
    Sheets(NewWhName).Range("A5").PasteSpecial xlPasteAll

    Sheets("Macro Sheet").Range("C4:D4").Copy
    Sheets(NewWhName).Range("B4").PasteSpecial xlPasteAll
   
    Range("B5").FormulaR1C1 = "='Macro Sheet'!RC[1]/'Macro Sheet'!R5C[1]*100"
    Range("B5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("C5").FormulaR1C1 = "='Macro Sheet'!RC[1]/'Macro Sheet'!R5C[1]*100"
    Range("C5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
   
    Range("A:C").Copy
    Range("D:F").PasteSpecial xlPasteAll
   
    Range("E5").FormulaR1C1 = "='Macro Sheet'!RC[-2]-'Macro Sheet'!RC[-3]"
    Range("E5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("F5").FormulaR1C1 = "='Macro Sheet'!RC[-2]-'Macro Sheet'!RC[-3]"
    Range("F5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
   
    Range("A:C").Copy
    Range("G:I").PasteSpecial xlPasteAll
   
    Range("H5").FormulaR1C1 = "=('Macro Sheet'!RC[-5]/'Macro Sheet'!RC[-6]-1)*100"
    Range("H5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("I5").FormulaR1C1 = "=('Macro Sheet'!RC[-5]/'Macro Sheet'!RC[-6]-1)*100"
    Range("I5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    
    Range("B3").Value = "PDM"
    Range("B3:C3").Select
      With Selection
      .MergeCells = True
    End With
    Range("E3").Value = "Gain"
    Range("E3:F3").Select
    With Selection
      .MergeCells = True
    End With
    Range("H3").Value = "Evol"
    Range("H3:I3").Select
    With Selection
      .MergeCells = True
    End With
   
    Range("B3:C34").Select
    With Selection
    .NumberFormat = "0.0"
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .Interior.ColorIndex = 38
    End With
   
    Range("E3:F34").Select
    With Selection
    .NumberFormat = "#,##0"
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .Interior.ColorIndex = 37
    End With
   
    Range("H3:I34").Select
   With Selection
   .NumberFormat = "0.0"
   .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .Interior.ColorIndex = 34
    End With
   
    Range("A6:A34").Select
    Selection.Interior.ColorIndex = 36
    Range("A5:A34").Copy
    Range("D5,G5").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

    Range("B2").Value = "English"
    Range("B2:I2").Select
    With Selection
      .HorizontalAlignment = xlCenter
      .Merge
      .Interior.ColorIndex = 44
    End With
    Range("2:3").Font.Bold = True
   
    Range("A2:I34").Copy
    Range("L2, W2").PasteSpecial xlPasteAll
   
    Range("M5").FormulaR1C1 = "='Macro Sheet'!RC[-7]/'Macro Sheet'!R5C[-7]*100"
    Range("M5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("N5").FormulaR1C1 = "='Macro Sheet'!RC[-7]/'Macro Sheet'!R5C[-7]*100"
    Range("N5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("P5").FormulaR1C1 = "='Macro Sheet'!RC[-10]-'Macro Sheet'!RC[-11]"
    Range("P5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("Q5").FormulaR1C1 = "='Macro Sheet'!RC[-10]-'Macro Sheet'!RC[-11]"
    Range("Q5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("S5").FormulaR1C1 = "=('Macro Sheet'!RC[-13]/'Macro Sheet'!RC[-14]-1)*100"
    Range("S5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("T5").FormulaR1C1 = "=('Macro Sheet'!RC[-13]/'Macro Sheet'!RC[-14]-1)*100"
    Range("T5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))

    Range("M2").Value = "Science"
    Range("M2").Interior.ColorIndex = 42

    Range("X2").Value = "Art"
    Range("X2").Interior.ColorIndex = 41

    Range("X5").FormulaR1C1 = "='Macro Sheet'!RC[-15]/'Macro Sheet'!R5C[-15]*100"
    Range("X5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("Y5").FormulaR1C1 = "='Macro Sheet'!RC[-15]/'Macro Sheet'!R5C[-15]*100"
    Range("Y5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("AA5").FormulaR1C1 = "='Macro Sheet'!RC[-18]-'Macro Sheet'!RC[-19]"
    Range("AA5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("AB5").FormulaR1C1 = "='Macro Sheet'!RC[-18]-'Macro Sheet'!RC[-19]"
    Range("AB5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("AD5").FormulaR1C1 = "=('Macro Sheet'!RC[-21]/'Macro Sheet'!RC[-22]-1)*100"
    Range("AD5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
    Range("AE5").FormulaR1C1 = "=('Macro Sheet'!RC[-21]/'Macro Sheet'!RC[-22]-1)*100"
    Range("AE5").Select
    ActiveCell.AutoFill Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column - 1).End(xlUp).Offset(, 1))
   
    Range("A2").Select
    ActiveWindow.DisplayGridlines = False
    Range("D1,O1,Z1").EntireColumn.ColumnWidth = 12
  
    Range("A6").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Sort Key1:=Range("F6"), Order1:=xlDescending, Header:=xlNo, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
      DataOption1:=xlSortNormal

    Range("L6").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Sort Key1:=Range("Q6"), Order1:=xlDescending, Header:=xlNo, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
      DataOption1:=xlSortNormal

    Range("W6").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Sort Key1:=Range("AB6"), Order1:=xlDescending, Header:=xlNo, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
      DataOption1:=xlSortNormal
     
    Range("A5:I5,L5:T5,W5:AE5").Interior.ColorIndex = 40
    Selection.Copy

    Range("B5:C5,M5:N5,X5:Y5").ClearContents
    Range("M5:N5").Select

    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
     
      Range("A3").Select
End Sub
----------------------- end of Code -------------------------

  Virendra replied to Pichart Y.
24-Aug-11 06:11 AM

Hi Pichart,

Thank a lot it works perfect!!

Thank you,
Virendra
  Pichart Y. replied to Virendra
24-Aug-11 06:21 AM
Hi Virendra,

You're welcome, always see you here with question / problem about excel.

Pichart Y.
Create New Account
help
Drawing across Data from different workbook using long list. Excel Hi folks, This one's a real doosie basically I have two workbooks. Book1 is my user interface, and Book2 is just a data storage workbook with a single worksheet. In Book2 I have a column of names for which I have created a dynamic named range for Column A. I have specified for this range that it will allow up to 3000 rows of data (Rows 2 to 3001 in Column A). The columns B to AH have other data corresponding to each name in Cloumn A. . . . ok. . .so. . . In Book1 I have created a list box which is linked to the dynamic named range in Book2. Thus, my list box will always display only whatever names are included in around the list box I have a variety of cells, each of which displays the data corresponding to the employee, taken from the other columns in Book2. (In Book2 Cell A2
how to use VBA code to create 'Select Data Range' userform. Excel Dear All, I am trying to write a general code to do some data analysis.In the first step, I want to have a 'Select Data Range' userform to allow user select data into a summary page. Can any one help me on this? Thanks Excel Programming
it up a little to run it more better. Here is my code. Sub ApplyStock() Range("C3").Copy Sheet4.Select Range("B7").Select ActiveSheet.Paste Sheets("Stock Maintenance").Select Range("C4").Copy Sheet5.Select Range("B7").Select ActiveSheet.Paste Sheets("Stock Maintenance").Select Range("C5").Copy Sheet6.Select Range("B7
Search and replace Excel I Have data in the following format: A - -- -- -- - Wed Oct 17 data data data data . . . Tue Oct 16 data data . . . . Basically I want the columns to look as follows: A B - -- -- -- -- -- -- -- data Oct 17 data Oct 17 data Oct 17 data Oct 17 . . data Oct 16 data