Advertisement
Guest User

Untitled

a guest
May 29th, 2015
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Sub FormatBOM()
  2.  
  3. '
  4. ' AddPage'
  5. '
  6. ''' This function copies the BOM and pastes all data to a new sheet to be formated as neccessary.
  7.    
  8.     Cells.Select
  9.     Selection.Copy
  10.     Sheets.Add After:=Sheets(Sheets.Count)
  11.     ActiveSheet.Paste
  12.  
  13. '
  14. 'Deleting Sheet Headers'
  15. '
  16. '''6 length
  17.  
  18.  
  19. '
  20. 'GeneralFormatingOfBOM '
  21. '
  22. '''Re-Format Top of BOM and Delete Top Header'
  23.  
  24.     Range("A3").Select
  25.     Selection.Cut Destination:=Range("B17")
  26.     Range("J6").Select
  27.     Selection.Cut Destination:=Range("U17")
  28.     Range("D6").Select
  29.     Selection.Cut Destination:=Range("C17")
  30.     Rows("2:16").Select
  31.     Range("A16").Activate
  32.     Selection.Delete Shift:=xlUp
  33.     Range("M1").Select
  34.     Selection.Delete Shift:=xlToLeft
  35.    
  36.    
  37. '''Delete Uneccessary Lines (Empty lines then headers)
  38.    selected_row = 3
  39.     Do While (Range("A" & selected_row) <> vbNullString Or Range("A" & selected_row + 1) <> vbNullString Or Range("A" & selected_row + 2) <> vbNullString Or Range("A" & selected_row + 3) <> vbNullString Or Range("A" & selected_row + 4) <> vbNullString Or Range("A" & selected_row + 5) <> vbNullString)
  40.         If (Range("A" & selected_row) = vbNullString) Then
  41.             Rows(selected_row & ":" & selected_row).Select
  42.             Selection.Delete Shift:=xlUp
  43.         End If
  44.         selected_row = selected_row + 1
  45.     Loop
  46.    
  47.     selected_row = 3
  48.     BOM_Length = 2
  49.     Do While (Range("A" & selected_row) <> vbNullString Or Range("A" & selected_row + 1) <> vbNullString Or Range("A" & selected_row + 2) <> vbNullString Or Range("A" & selected_row + 3) <> vbNullString Or Range("A" & selected_row + 4) <> vbNullString Or Range("A" & selected_row + 5) <> vbNullString)
  50.         If (Range("A" & selected_row) = "ZCOSTBOM") Then
  51.             Rows(selected_row - 2 & ":" & selected_row + 5).Select
  52.             Selection.Delete Shift:=xlUp
  53.         End If
  54.         selected_row = selected_row + 1
  55.     Loop
  56.    
  57.  
  58. ''' Delete footer
  59.    selected_row = selected_row - 5
  60.     Rows(selected_row + 1 & ":" & selected_row + 4).Select
  61.     Selection.Delete Shift:=xlUp
  62.    
  63.    
  64. '''Adding beginning of BOM and rearragement of columns
  65.    Columns("A:AB").Select
  66.     Selection.Cut Destination:=Columns("F:AG")
  67.     Range("G2").Select
  68.     Selection.Cut Destination:=Range("A2")
  69.     Columns("G:G").Select
  70.     Selection.Insert Shift:=xlToRight
  71.     Columns("J:N").Select
  72.     Selection.Delete Shift:=xlToLeft
  73.     Columns("V:V").Select
  74.     Selection.Cut Destination:=Columns("K:K")
  75.     Columns("L:L").Select
  76.     Selection.Delete Shift:=xlToLeft
  77.     Columns("K:K").EntireColumn.AutoFit
  78.     Columns("M:Z").Select
  79.     Selection.Delete Shift:=xlToLeft
  80.     Range("M3").Select
  81.     Selection.Delete Shift:=xlUp
  82.     Range("O13").Select
  83.     Rows("1:1").Select
  84.     Selection.Delete Shift:=xlUp
  85.  
  86.    
  87.     selected_row = 3
  88.     Do While (Range("F" & selected_row) <> vbNullString)
  89.         If (Range("F" & selected_row) <> 0.1 And Not Range("F" & selected_row) Like "..*") Then
  90.             Rows(selected_row & ":" & selected_row).Select
  91.             Selection.Delete Shift:=xlUp
  92.         Else
  93.         selected_row = selected_row + 1
  94.         End If
  95.    
  96.     Loop
  97.     BOM_Length = selected_row - 1
  98. '
  99. 'FormatTopLevelRow Macro'
  100. '   Add PN to Top Level PN Column, zero BOM Level added, and delete top row'
  101.  
  102.     Range("I1").Select
  103.     Selection.Copy
  104.     Range("E1").Select
  105.     ActiveSheet.Paste
  106.     Range("F1").Select
  107.     Application.CutCopyMode = False
  108.     ActiveCell.FormulaR1C1 = "0"
  109.  
  110.  
  111.  
  112. '
  113. 'Level Macro'
  114. '''Adds New Columns to apply formula, paste values, delete columns'
  115. '
  116.  
  117.     Columns("G:G").Select
  118.     Selection.Insert Shift:=xlToRight
  119.     Range("G1").Select
  120.     ActiveCell.FormulaR1C1 = "=RIGHT(RC[-1],1)"
  121.     Range("G1").Select
  122.     Selection.AutoFill Destination:=Range("G1:G" & BOM_Length), Type:=xlFillDefault
  123.     Range("G1:G" & BOM_Length).Select
  124.     Columns("G:G").Select
  125.     Selection.Copy
  126.     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  127.         :=False, Transpose:=False
  128.     Columns("F:F").Select
  129.     Application.CutCopyMode = False
  130.     Selection.Delete Shift:=xlToLeft
  131.  
  132.  
  133. '
  134. 'MakePurchase Macro'
  135. '
  136. '
  137.    Range("N1").Select
  138.     ActiveCell.FormulaR1C1 = "=IF(R[1]C[-8]<>0,RC[-8]-R[1]C[-8],0)"
  139.     Range("N1").Select
  140.     Selection.AutoFill Destination:=Range("N1:N" & BOM_Length), Type:=xlFillDefault
  141.     Range("N1:N" & BOM_Length).Select
  142.     Range("O1").Select
  143.     ActiveCell.FormulaR1C1 = "=IF(RC[-1]<0,""M"",""P"")"
  144.     Range("O1").Select
  145.     Selection.AutoFill Destination:=Range("O1:O" & BOM_Length), Type:=xlFillDefault
  146.     Range("O1:O" & BOM_Length).Select
  147.     Columns("O:O").Select
  148.     Selection.Copy
  149.     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  150.         :=False, Transpose:=False
  151.     Columns("N:N").Select
  152.     Application.CutCopyMode = False
  153.     Selection.Delete Shift:=xlToLeft
  154.  
  155. '
  156. ' FillInFirst4Columns Macro'
  157. '
  158. '
  159.  
  160.     Range("B1").Select
  161.     FTA_Type = InputBox(Prompt:="FTA Type.", _
  162.     Title:="ENTER FTA Type", Default:="NAFTA")
  163.     Blanket_Period = InputBox(Prompt:="Blanket Period.", _
  164.     Title:="ENTER Blanket Period", Default:="2014")
  165.     Entity_Name = InputBox(Prompt:="Entity.", _
  166.     Title:="ENTER Entity Name", Default:="OSMONICS")
  167.     Application.CutCopyMode = False
  168.     ActiveCell.FormulaR1C1 = Blanket_Period
  169.     Range("C1").Select
  170.     ActiveCell.FormulaR1C1 = FTA_Type
  171.     Range("D1").Select
  172.     ActiveCell.FormulaR1C1 = Entity_Name
  173.     Range("A1:E1").Select
  174.     Selection.Copy
  175.     Range("A2:E2").Select
  176.     ActiveSheet.Paste
  177.     Range("A1:E2").Select
  178.     Application.CutCopyMode = False
  179.     Selection.AutoFill Destination:=Range("A1:E" & BOM_Length), Type:=xlFillDefault
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement