Results 1 to 1 of 1

Thread: Can this code be simplified? is this correct

  1. #1

    Thread Starter
    New Member
    Join Date
    Dec 2011
    Posts
    5

    Question Can this code be simplified? is this correct

    Greeting fellow Humans,

    I'm an Intern, trying to merge 4 excel file to 1 template by creating a VB application.
    The snips of code below shows only the merging part for the 4 files.
    Do correct me / simplify my code because its repetitive , much appreciated with "ratings"



    vb Code:
    1. '-----------------------------------------------------------
    2.             'MERGING BEGINS HERE      
    3. '-----------------------------------------------------------
    4.  
    5.             '-------------- HEADER TOP ------------
    6.             'open source file
    7.             oWbkSrc = oExc.Workbooks.Open(sHT)
    8.  
    9.             'set source sheet
    10.             oWshSrc = oWbkSrc.Worksheets(1)
    11.  
    12.             'copy data: HeaderTop Cell: B1 -> Template cell: D2; B2 -> D3 . . . B12 -> D13
    13.             For i = 1 To 12
    14.                 j = i + 1
    15.                 oWshSrc.Range("B" & i.ToString).Copy(oWshDst.Range("D" & j.ToString))
    16.             Next
    17.             oWbkSrc.Close(False) 'close without saving changes
    18.  
    19.  
    20.             '-------------- HEADER BOTTOM ------------
    21.             'open source file
    22.             oWbkSrc = oExc.Workbooks.Open(sHB)
    23.  
    24.             'set source sheet
    25.             oWshSrc = oWbkSrc.Worksheets(1)
    26.  
    27.             'copy data: HeaderBottom Cell :B1 -> Template Cell:F2, B2 ->F3...B12 -> F13
    28.             For i = 1 To 12
    29.                 j = i + 1
    30.                 oWshSrc.Range("B" & i.ToString).Copy(oWshDst.Range("F" & j.ToString))
    31.             Next
    32.             oWbkSrc.Close(False) 'close without saving
    33.  
    34.  
    35.  
    36.             '-------------------------------------------------
    37.             'Begin Report Top
    38.             '-------------------------------------------------
    39.  
    40.             'open source file Report Top
    41.             oWbkSrc = oExc.Workbooks.Open(sRT)
    42.  
    43.             'ReportTop:A2->I2 copy to Template:A16->I16
    44.             For i = 2
    45.                 j = i + 14
    46.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString))
    47.  
    48.                 'corresponding row of B,C,D,E,F,G,H,I
    49.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString).offset(0, 1))
    50.             Next
    51.  
    52.  
    53.             ' how to code :NEXT SKIP 1 CELL THEN
    54.  
    55.  
    56.             'ReportTop:A3->I3 copy to Template:A18->I18
    57.             For i = 2
    58.                 j = i + 16
    59.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString))
    60.  
    61.                 'corresponding row of B,C,D,E,F,G,H,I
    62.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" &
    63.                 j.ToString).offset(0, 1))
    64.             Next
    65.  
    66.             ' how to code :NEXT SKIP 1 CELL THEN
    67.  
    68.             'ReportTop:A4->I4 copy to Template:A20->I20
    69.             For i = 2
    70.                 j = i + 18
    71.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString))
    72.  
    73.                 'corresponding row of B,C,D,E,F,G,H,I
    74.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString).offset(0, 1))
    75.  
    76.             Next
    77.  
    78.             ' how to code :NEXT SKIP 1 CELL THEN
    79.  
    80.             'ReportTop:A5->I5 copy to Template:A22->I22
    81.             For i = 2
    82.                 j = i + 20
    83.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString))
    84.  
    85.                 'corresponding row of B,C,D,E,F,G,H,I
    86.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString).offset(0, 1))
    87.             Next
    88.  
    89.  
    90.             ' how to code :NEXT SKIP 1 CELL THEN
    91.  
    92.             'ReportTop:A7->I7 copy to Template:A24->I24
    93.             For i = 2
    94.                 j = i + 22
    95.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString))
    96.  
    97.                 'corresponding row of B,C,D,E,F,G,H,I
    98.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString).offset(0, 1))
    99.  
    100.             Next
    101.             oWbkSrc.Close(False) 'close without saving
    102.  
    103.             '-------------------------------------------------
    104.             'Begin Report Bottom
    105.             '-------------------------------------------------
    106.  
    107.             'open source file Report Bottom
    108.             oWbkSrc = oExc.Workbooks.Open(sRB)
    109.  
    110.             'ReportBottom:A2->I2 copy to Template:A17->I17
    111.             For i = 2
    112.                 j = i + 15
    113.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString).offset(1, 0))
    114.  
    115.                 'corresponding row of B,C,D,E,F,G,H,I
    116.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString).offset(0, 1))
    117.  
    118.             Next
    119.  
    120.  
    121.             'Begin From Skipped Cell
    122.             'ReportBottom:A3->I3 copy to Template:A19->I19
    123.             For i = 2
    124.                 j = i + 17
    125.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString).offset(1, 0))
    126.  
    127.                 'corresponding row of B,C,D,E,F,G,H,I
    128.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString).offset(0, 1))
    129.  
    130.             Next
    131.  
    132.             'Next Skipped Cell
    133.             'ReportBottom:A4->I4 copy to Template:A21->I21
    134.             For i = 2
    135.                 j = i + 19
    136.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString).offset(1, 0))
    137.  
    138.                 'corresponding row of B,C,D,E,F,G,H,I
    139.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString).offset(0, 1))
    140.             Next
    141.  
    142.  
    143.             'Next Skipped Cell
    144.             'ReportBottom:A5->I5 copy to Template:A23->I23
    145.             For i = 2
    146.                 j = i + 21
    147.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString).offset(1, 0))
    148.  
    149.                 'corresponding row of B,C,D,E,F,G,H,I
    150.                 oWshSrc.Range("A" & i.ToString).Copy(oWshDst.Range("A" & j.ToString).offset(0, 1))
    151.             Next
    152.             oWbkSrc.Close(False) 'close without saving
    153.  
    154.             'after all - save destination file
    155.             oWbkDst.SaveAs(NewFileName) C:\Temp\NewTemplate.xls

    'LOOP UNTILL THERE IS NO READING

    Attached Images Attached Images  
    Last edited by human 2.0; Dec 22nd, 2011 at 08:15 PM.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width