Attribute VB_Name = "AtticSim_Output"
Sub BuildOUTPUT()
Attribute BuildOUTPUT.VB_ProcData.VB_Invoke_Func = "m\n14"
Dim Dir As String
Dim ASoutput As String
Dim COEFF As String
Dim SaveDir As String
Dim date_start As String, date_end As String
Dim Drive, Dirt As String
Dim Attics As String
Dim AtticSave As String

Windows("GAF_AS_OUTPUT_Compiler.xlsm").Activate
Drive = Range("C7").Value
 date_start = Range("C3").Value
 date_end = Range("C5").Value
 AtticSel = Range("C9").Value
 AtticEnd = Range("C12").Value
'''''''''''''''''''''''''''''''''
If Not IsNumeric(Range("C3").Value) Then
  MsgBox "Please enter a valid number in cell C3"
  GoTo 100
End If
If Not IsNumeric(Range("C5").Value) Then
  MsgBox "Please enter a valid number in cell C5"
  GoTo 100
End If
Call OUTPUTColumns
Dir = Drive & ":\Users\Owner\Documents\SAAtherton\Charleston_Field_Tests\Reports\Benchmark\Debug\"

Dirt = Drive & ":\Users\Owner\Documents\SAAtherton\Charleston_Field_Tests\Reports\"
For Aindex = AtticSel To AtticEnd
''''''''''''''''''
'Boolean for attic selection
If Aindex = 1 Then
   Attics = "Attic1"
   AtticSave = "Attic01"
ElseIf Aindex = 2 Then
   Attics = "Attic2"
      AtticSave = "Attic02"
ElseIf Aindex = 3 Then
   Attics = "Attic3"
      AtticSave = "Attic03"
ElseIf Aindex = 4 Then
   Attics = "Attic4"
      AtticSave = "Attic04"
ElseIf Aindex = 5 Then
   Attics = "Attic5"
      AtticSave = "Attic05"
ElseIf Aindex = 6 Then
   Attics = "Attic6"
      AtticSave = "Attic06"
ElseIf Aindex = 7 Then
   Attics = "Attic7"
      AtticSave = "Attic07"
Else
    MsgBox "Please enter a value of 1 through 7 to select the correct Attic."
    GoTo 100
End If
''''''''''''''''''''''''
If date_start = "" Then
    MsgBox "Please enter the number corresponding to the first week of data."
End If
If date_end = "" Then
    MsgBox "Please enter the number corresponding to the last week of data."
End If

' SaveDir = Dir & "Benchmark\" & AtticSave & "\" & "AtticSim_Outputs\"
SaveDir = Dir
'''''''''''''''''''''''''''''''''''''''''''''''''''''
For date_index = date_start To date_end
   Workbooks.Open Filename:=Dirt & "GAF_Attics_" & Week(date_index) & ".xls"
   Workbooks.Open Filename:=Dir & "GAF_AS_OUTPUT_Template.xlsm"
   Workbooks.Open Filename:=Dir & AtticSave & "out_" & Week(date_index) & "_R38" & ".csv"
   Workbooks.Open Filename:=Dir & AtticSave & "Coefficients_" & Week(date_index) & "_R38" & ".csv"
''''''''''''''''''''''''''''''''''''''''''''''''''''''
   ASoutput = AtticSave & "out_" & Week(date_index) & "_R38" & ".csv"
   COEFF = AtticSave & "Coefficients_" & Week(date_index) & "_R38" & ".csv"
''''''''''''''''''''''''''''''''''''''''''''''''''''''
'This portion copies in the field weather file
   Windows("GAF_Attics_" & Week(date_index) & ".xls").Activate
   Worksheets("Weather").Activate
   Range("A1:AG174").Select
   Selection.Copy
   Windows("GAF_AS_OUTPUT_Template.xlsm").Activate
   Worksheets("Weather_In").Activate
   Range("A1:A1").Select
   ActiveSheet.Paste
   Application.CutCopyMode = False
    
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
'This portion copies in the attic field data
   Windows("GAF_Attics_" & Week(date_index) & ".xls").Activate
   Worksheets(Attics).Activate
   Range("A1:AN174").Select
   Selection.Copy
   Windows("GAF_AS_OUTPUT_Template.xlsm").Activate
   Worksheets("Attic_Field_Data_In").Activate
   Range("A1:A1").Select
      Application.DisplayAlerts = False
   ActiveSheet.Paste
   Application.CutCopyMode = False
      Application.DisplayAlerts = True
   '
   Windows("GAF_Attics_" & Week(date_index) & ".xls").Activate
   Worksheets("Temp_RH").Activate
   Range("X7:X174").Select
   Selection.Copy
   Windows("GAF_AS_OUTPUT_Template.xlsm").Activate
   Worksheets("Attic_Field_Data_In").Activate
   Range("AK7:AK7").Select
      Application.DisplayAlerts = False
   ActiveSheet.Paste
   Application.CutCopyMode = False
      Application.DisplayAlerts = True
   
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''This portion copies in the atticsim output CSV and places it in the template (removing the repeated week in the process)
   Windows(ASoutput).Activate
   Rows("7:30").Select
   Selection.Delete Shift:=xlUp
   Range("A1:C5").Select
   Selection.Copy
   Windows("GAF_AS_OUTPUT_Template.xlsm").Activate
   Worksheets("Attic_Sim_IP_In").Activate
   Range("A1:A1").Select
      Application.DisplayAlerts = False
      ActiveSheet.Paste
      Application.CutCopyMode = False
      Application.DisplayAlerts = True
   Windows(ASoutput).Activate
   Range("C7:BF175").Select
   Selection.Copy
   Windows("GAF_AS_OUTPUT_Template.xlsm").Activate
   Worksheets("Attic_Sim_IP_In").Activate
   Range("D8:D8").Select
      Application.DisplayAlerts = False
      ActiveSheet.Paste
      Application.CutCopyMode = False
      Application.DisplayAlerts = True
      
   Windows(ASoutput).Activate
   Range("A7:A175").Select
   Selection.Copy
   Windows("GAF_AS_OUTPUT_Template.xlsm").Activate
   Worksheets("Attic_Sim_IP_In").Activate
   Range("A8:A8").Select
      Application.DisplayAlerts = False
      ActiveSheet.Paste
      Application.CutCopyMode = False
      Application.DisplayAlerts = True

    
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' This portion copies in the heat transfer coefficients from the "Attic(number)_coefficients_(date).csv file
Windows(COEFF).Activate
Rows("7:30").Select
Selection.Delete Shift:=xlUp
Range("A1:AK173").Select
Selection.Copy
Windows("GAF_AS_OUTPUT_Template.xlsm").Activate
Worksheets("HT_Coefficients_IP_In").Activate
Range("A1:A1").Select
    Application.DisplayAlerts = False
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Application.DisplayAlerts = True

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Close the data files
  Workbooks("GAF_Attics_" & Week(date_index) & ".xls").Close
  Workbooks(ASoutput).Close False
  Workbooks(COEFF).Close False
  
'Save the template
  Windows("GAF_AS_OUTPUT_Template.xlsm").Activate
  ActiveWorkbook.SaveAs Filename:=SaveDir & AtticSave & "_" & Week(date_index) & "_Results" & ".xlsm" _
    , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
  
  Workbooks(AtticSave & "_" & Week(date_index) & "_Results" & ".xlsm").Close True

Next date_index
Next Aindex
100
End Sub
Public Week(1 To 200) As String, wCol(1 To 200, 1 To 200) As String, tCol(1 To 200, 1 To 200) As String, Attic(1 To 7) As String

Sub OUTPUTColumns()

Attic(1) = "Attic1"
Attic(2) = "Attic2"
Attic(3) = "Attic3"
Attic(4) = "Attic4"
Attic(5) = "Attic5"
Attic(6) = "Attic6"
Attic(7) = "Attic7"

'This array is for the selected weeks (per friday)
        Week(1) = "060410" '2010
        Week(2) = "061110"
        Week(3) = "061810"
        Week(4) = "062510"
        Week(5) = "070210"
        Week(6) = "070910"
        Week(7) = "071610"
        Week(8) = "072310"
        Week(9) = "073010"
        Week(10) = "080610"
        Week(11) = "081310"
        Week(12) = "082010"
        Week(13) = "082710"
        Week(14) = "090310"
        Week(15) = "091010"
        Week(16) = "091710"
        Week(17) = "092410"
        Week(18) = "100110"
        Week(19) = "100810"
        Week(20) = "101510"
        Week(21) = "102210"
        Week(22) = "102910"
        Week(23) = "110510"
        Week(24) = "111210"
        Week(25) = "111910"
        Week(26) = "112610"
        Week(27) = "120310"
        Week(28) = "121010"
        Week(29) = "121710"
        Week(30) = "122410"
        Week(31) = "123110"
'
        Week(32) = "010711" ' 2011
        Week(33) = "011411"
        Week(34) = "012111"
        Week(35) = "012811"
        Week(36) = "020411"
        Week(37) = "021111"
        Week(38) = "021811"
        Week(39) = "022511"
        Week(40) = "030411"
        Week(41) = "031111"
        Week(42) = "031811"
        Week(43) = "032511"
        Week(44) = "040111"
        Week(45) = "040811"
        Week(46) = "041511"
        Week(47) = "042211"
        Week(48) = "042911"
        Week(49) = "050611"
        Week(50) = "051311"
        Week(51) = "052011"
        Week(52) = "052711"
        Week(53) = "060311"
        Week(54) = "061011"
        Week(55) = "061711"
        Week(56) = "062411"
        Week(57) = "070111"
        Week(58) = "070811"
        Week(59) = "071511"
        Week(60) = "072211"
        Week(61) = "072911"
        Week(62) = "080511"
        Week(63) = "081211"
        Week(64) = "081911"
        Week(65) = "082611"
        Week(66) = "090211"
        Week(67) = "090911"
        Week(68) = "091611"
        Week(69) = "092311"
        Week(70) = "093011"
        Week(71) = "100711"
        Week(72) = "101411"
        Week(73) = "102111"
        Week(74) = "102811"
        Week(75) = "110411"
        Week(76) = "111111"
        Week(77) = "111811"
        Week(78) = "112511"
        Week(79) = "120211"
        Week(80) = "120911"
        Week(81) = "121611"
        Week(82) = "122311"
        Week(83) = "123011"
        Week(84) = "010612"
        Week(85) = "011312"
        Week(86) = "012012"
        Week(87) = "012712"
        Week(88) = "020312"
        Week(89) = "021012"
        Week(90) = "021712"
        Week(91) = "022412"
        Week(92) = "030212"
        Week(93) = "030912"
        Week(94) = "031612"
        Week(95) = "032312"
        Week(96) = "033012"
        Week(97) = "040612"
        Week(98) = "041312"
        Week(99) = "042012"
        Week(100) = "042712"
        Week(101) = "050412"
        Week(102) = "051112"
        Week(103) = "051812"
        Week(104) = "052512"
        Week(105) = "060112"
        Week(106) = "060812"
        Week(107) = "061512"
        Week(108) = "062212"
        Week(109) = "062912"
        Week(110) = "070612"
        Week(111) = "071312"
        Week(112) = "072012"
        Week(113) = "072712"
        Week(114) = "080312"
        Week(115) = "081012"
        Week(116) = "081712"
        Week(117) = "082412"
        Week(118) = "083112"
        Week(119) = "090712"
        Week(120) = "091410"
        Week(121) = "092110"
        Week(122) = "092810"
        Week(123) = "100510"
        Week(124) = "101210"
        Week(125) = "101910"
        Week(126) = "102610"
        Week(127) = "110210"
        Week(128) = "110910"
        Week(129) = "111610"
        Week(130) = "112310"
        Week(131) = "113010"
        Week(132) = "120710"
        Week(133) = "121410"
        Week(134) = "122110"
        Week(135) = "122810"
        
        Week(136) = "010412" '2012
        Week(137) = "010412"
        Week(138) = "010412"
        Week(139) = "010412"
        Week(140) = "010412"
        Week(141) = "060412"
        Week(142) = "060412"
        Week(143) = "060412"
        Week(144) = "060412"
        Week(145) = "060412"
        Week(146) = "060412"
        Week(147) = "060412"
        Week(148) = "060412"
        Week(149) = "060412"
        Week(150) = "060412"
        Week(151) = "060412"
        Week(152) = "060412"
        Week(153) = "060412"
        Week(154) = "060412"
        Week(155) = "060412"
        Week(156) = "060412"
        Week(157) = "060412"
        Week(158) = "060412"
        Week(159) = "060412"
        Week(160) = "060412"
        Week(161) = "060412"
        Week(162) = "060412"
        Week(163) = "060412"
        Week(164) = "060412"
        Week(165) = "060412"
        Week(166) = "060412"
        Week(167) = "060412"
        Week(168) = "060412"
        Week(169) = "060412"
        Week(170) = "060412"
        Week(171) = "060412"
        Week(172) = "060412"
        Week(173) = "060412"
        Week(174) = "060412"
        Week(175) = "060412"
        Week(176) = "060412"
        Week(177) = "060412"
        Week(178) = "060412"
        Week(179) = "110112"
        Week(180) = "110812"
        Week(181) = "111512"
        Week(182) = "122212"
        Week(183) = "112912"
        Week(184) = "120612"
        Week(185) = "121312"
        Week(186) = "122012"
        Week(187) = "122712"
        
'''''''''''''''''''''''''''''''''''Attic 1 Columns
        wCol(1, 1) = "A7:A174"
        wCol(1, 2) = "I7:I174"
        wCol(1, 3) = "G7:G174"
        wCol(1, 4) = "L7:L174"
        wCol(1, 5) = "T7:T174"
        wCol(1, 6) = "E7:E174"
        wCol(1, 7) = "J7:J174"
        wCol(1, 8) = "P7:P174"
        wCol(1, 9) = "O7:O174"
        wCol(1, 10) = "S7:S174"
        wCol(1, 11) = "Q7:Q174"
        wCol(1, 12) = "W7:W174"
        wCol(1, 13) = "AA7:AA174"
' FROM Temp_RH
        wCol(1, 14) = "E7:E174"
        wCol(1, 15) = "I7:I174"
        wCol(1, 16) = "X7:X174"
        

        tCol(1, 1) = "A28:A195"
        tCol(1, 2) = "B28:B195"
        tCol(1, 3) = "C28:C195"
        tCol(1, 4) = "D28:D195"
        tCol(1, 5) = "I28:I195"
        tCol(1, 6) = "J28:J195"
        tCol(1, 7) = "K28:K195"
        tCol(1, 8) = "P28:P195"
        tCol(1, 9) = "Q28:Q195"
        tCol(1, 10) = "R28:R195"
        tCol(1, 11) = "S28:S195"
        tCol(1, 12) = "W28:W195"
        tCol(1, 13) = "X28:X195"
        tCol(1, 14) = "U28:U195"
        tCol(1, 15) = "V28:V195"
        tCol(1, 16) = "AK28:AK195"

'''''''''''''''''''''''''''''''''''''Attic 2 Columns
        wCol(2, 1) = "A7:A174"
        wCol(2, 2) = "I7:I174"
        wCol(2, 3) = "G7:G174"
        wCol(2, 4) = "L7:L174"
        wCol(2, 5) = "T7:T174"
        wCol(2, 6) = "E7:E174"
        wCol(2, 7) = "J7:J174"
        wCol(2, 8) = "P7:P174"
        wCol(2, 9) = "O7:O174"
        wCol(2, 10) = "S7:S174"
        wCol(2, 11) = "Q7:Q174"
        wCol(2, 12) = "W7:W174"
        wCol(2, 13) = "AA7:AA174"
' FROM Temp_RH
        wCol(2, 14) = "E7:E174"
        wCol(2, 15) = "I7:I174"
        wCol(2, 16) = "X7:X174"

        tCol(2, 1) = "A28:A195"
        tCol(2, 2) = "B28:B195"
        tCol(2, 3) = "C28:C195"
        tCol(2, 4) = "D28:D195"
        tCol(2, 5) = "I28:I195"
        tCol(2, 6) = "J28:J195"
        tCol(2, 7) = "K28:K195"
        tCol(2, 8) = "P28:P195"
        tCol(2, 9) = "Q28:Q195"
        tCol(2, 10) = "R28:R195"
        tCol(2, 11) = "S28:S195"
        tCol(2, 12) = "W28:W195"
        tCol(2, 13) = "X28:X195"
        tCol(2, 14) = "U28:U195"
        tCol(2, 15) = "V28:V195"
        tCol(2, 16) = "AK28:AK195"
'''''''''''''''''''''''''''''''''''''Attic 3 Columns
        wCol(3, 1) = "A7:A174"
        wCol(3, 2) = "I7:I174"
        wCol(3, 3) = "G7:G174"
        wCol(3, 4) = "L7:L174"
        wCol(3, 5) = "T7:T174"
        wCol(3, 6) = "E7:E174"
        wCol(3, 7) = "J7:J174"
        wCol(3, 8) = "P7:P174"
        wCol(3, 9) = "O7:O174"
        wCol(3, 10) = "S7:S174"
        wCol(3, 11) = "Q7:Q174"
        wCol(3, 12) = "W7:W174"
        wCol(3, 13) = "AA7:AA174"
' FROM Temp_RH
        wCol(3, 14) = "E7:E174"
        wCol(3, 15) = "I7:I174"
        wCol(3, 16) = "X7:X174"

        tCol(3, 1) = "A28:A195"
        tCol(3, 2) = "B28:B195"
        tCol(3, 3) = "C28:C195"
        tCol(3, 4) = "D28:D195"
        tCol(3, 5) = "I28:I195"
        tCol(3, 6) = "J28:J195"
        tCol(3, 7) = "K28:K195"
        tCol(3, 8) = "P28:P195"
        tCol(3, 9) = "Q28:Q195"
        tCol(3, 10) = "R28:R195"
        tCol(3, 11) = "S28:S195"
        tCol(3, 12) = "W28:W195"
        tCol(3, 13) = "X28:X195"
        tCol(3, 14) = "U28:U195"
        tCol(3, 15) = "V28:V195"
        tCol(3, 16) = "AK28:AK195"
'''''''''''''''''''''''''''''''''''''Attic 4 Columns
        
        wCol(4, 1) = "A7:A174"
        wCol(4, 2) = "I7:I174"
        wCol(4, 3) = "G7:G174"
        wCol(4, 4) = "L7:L174"
        wCol(4, 5) = "T7:T174"
        wCol(4, 6) = "E7:E174"
        wCol(4, 7) = "J7:J174"
        wCol(4, 8) = "P7:P174"
        wCol(4, 9) = "O7:O174"
        wCol(4, 10) = "S7:S174"
        wCol(4, 11) = "Q7:Q174"
        wCol(4, 12) = "W7:W174"
        wCol(4, 13) = "AA7:AA174"
' FROM Temp_RH
        wCol(4, 14) = "E7:E174"
        wCol(4, 15) = "I7:I174"
        wCol(4, 16) = "X7:X174"

        tCol(4, 1) = "A28:A195"
        tCol(4, 2) = "B28:B195"
        tCol(4, 3) = "C28:C195"
        tCol(4, 4) = "D28:D195"
        tCol(4, 5) = "I28:I195"
        tCol(4, 6) = "J28:J195"
        tCol(4, 7) = "K28:K195"
        tCol(4, 8) = "P28:P195"
        tCol(4, 9) = "Q28:Q195"
        tCol(4, 10) = "R28:R195"
        tCol(4, 11) = "S28:S195"
        tCol(4, 12) = "W28:W195"
        tCol(4, 13) = "X28:X195"
        tCol(4, 14) = "U28:U195"
        tCol(4, 15) = "V28:V195"
        tCol(4, 16) = "AK28:AK195"
'''''''''''''''''''''''''''''''''''''''''''''''''' Attic 5
        wCol(5, 1) = "A7:A174"
        wCol(5, 2) = "I7:I174"
        wCol(5, 3) = "G7:G174"
        wCol(5, 4) = "L7:L174"
        wCol(5, 5) = "T7:T174"
        wCol(5, 6) = "E7:E174"
        wCol(5, 7) = "J7:J174"
        wCol(5, 8) = "P7:P174"
        wCol(5, 9) = "O7:O174"
        wCol(5, 10) = "S7:S174"
        wCol(5, 11) = "Q7:Q174"
        wCol(5, 12) = "Y7:Y174"
        wCol(5, 13) = "AC7:AC174"
' FROM Temp_RH
        wCol(5, 14) = "E7:E174"
        wCol(5, 15) = "I7:I174"
        wCol(5, 16) = "X7:X174"

        tCol(5, 1) = "A28:A195"
        tCol(5, 2) = "B28:B195"
        tCol(5, 3) = "C28:C195"
        tCol(5, 4) = "D28:D195"
        tCol(5, 5) = "I28:I195"
        tCol(5, 6) = "J28:J195"
        tCol(5, 7) = "K28:K195"
        tCol(5, 8) = "P28:P195"
        tCol(5, 9) = "Q28:Q195"
        tCol(5, 10) = "R28:R195"
        tCol(5, 11) = "S28:S195"
        tCol(5, 12) = "W28:W195"
        tCol(5, 13) = "X28:X195"
        tCol(5, 14) = "U28:U195"
        tCol(5, 15) = "V28:V195"
        tCol(5, 16) = "AK28:AK195"

'''''''''''''''''''''''''''''''''''''''''''''''''' Attic 6
        wCol(6, 1) = "A7:A174"
        wCol(6, 2) = "I7:I174"
        wCol(6, 3) = "G7:G174"
        wCol(6, 4) = "L7:L174"
        wCol(6, 5) = "T7:T174"
        wCol(6, 6) = "E7:E174"
        wCol(6, 7) = "J7:J174"
        wCol(6, 8) = "P7:P174"
        wCol(6, 9) = "O7:O174"
        wCol(6, 10) = "S7:S174"
        wCol(6, 11) = "Q7:Q174"
        wCol(6, 12) = "W7:W174"
        wCol(6, 13) = "AA7:AA174"
' FROM Temp_RH
        wCol(6, 14) = "E7:E174"
        wCol(6, 15) = "I7:I174"
        wCol(6, 16) = "X7:X174"

        tCol(6, 1) = "A28:A195"
        tCol(6, 2) = "B28:B195"
        tCol(6, 3) = "C28:C195"
        tCol(6, 4) = "D28:D195"
        tCol(6, 5) = "I28:I195"
        tCol(6, 6) = "J28:J195"
        tCol(6, 7) = "K28:K195"
        tCol(6, 8) = "P28:P195"
        tCol(6, 9) = "Q28:Q195"
        tCol(6, 10) = "R28:R195"
        tCol(6, 11) = "S28:S195"
        tCol(6, 12) = "W28:W195"
        tCol(6, 13) = "X28:X195"
        tCol(6, 14) = "U28:U195"
        tCol(6, 15) = "V28:V195"
        tCol(6, 16) = "AK28:AK195"
'''''''''''''''''''''''''''''''''''''''''''''''Attic 7
        wCol(7, 1) = "A7:A174"
        wCol(7, 2) = "I7:I174"
        wCol(7, 3) = "G7:G174"
        wCol(7, 4) = "L7:L174"
        wCol(7, 5) = "T7:T174"
        wCol(7, 6) = "E7:E174"
        wCol(7, 7) = "J7:J174"
        wCol(7, 8) = "P7:P174"
        wCol(7, 9) = "O7:O174"
        wCol(7, 10) = "S7:S174"
        wCol(7, 11) = "Q7:Q174"
        wCol(7, 12) = "W7:W174"
        wCol(7, 13) = "AA7:AA174"
' FROM Temp_RH
        wCol(7, 14) = "E7:E174"
        wCol(7, 15) = "I7:I174"
        wCol(7, 16) = "X7:X174"

        tCol(7, 1) = "A28:A195"
        tCol(7, 2) = "B28:B195"
        tCol(7, 3) = "C28:C195"
        tCol(7, 4) = "D28:D195"
        tCol(7, 5) = "I28:I195"
        tCol(7, 6) = "J28:J195"
        tCol(7, 7) = "K28:K195"
        tCol(7, 8) = "P28:P195"
        tCol(7, 9) = "Q28:Q195"
        tCol(7, 10) = "R28:R195"
        tCol(7, 11) = "S28:S195"
        tCol(7, 12) = "W28:W195"
        tCol(7, 13) = "X28:X195"
        tCol(7, 14) = "U28:U195"
        tCol(7, 15) = "V28:V195"
        tCol(7, 16) = "AK28:AK195"
End Sub

