Sub script1() ' ' Sub to generate XML scripts ' ' Sheets("Sheet1").Select 'Variable declaration Dim sDir As String 'Get current directory sDir = CurDir globalDir = sDir + "\generation\" MkDir globalDir 'Display output on the screen MsgBox "Files will be saved in-- " & globalDir 'To get last visible row number Dim lastRow As Long lastRow = Range("A" & Rows.Count).End(xlUp).Row 'MsgBox lastRow For currentRow = 2 To lastRow Dim id As String id = Trim(Cells(currentRow, "A").Value) pathName = globalDir + "\" + id + "\" MkDir pathName file1 = pathName + "DefaultList.xml" file2 = pathName + "DefaultEndpointList.xml" Set objStream = CreateObject("ADODB.Stream") objStream.Charset = "iso-8859-1" objStream.Open objStream.WriteText ("" & vbLf) objStream.WriteText (" " & vbLf) objStream.WriteText (" Default" & vbLf) objStream.WriteText (" " + id + "" & vbLf) objStream.WriteText (" ACTIVE" & vbLf) objStream.WriteText (" 2020-04-12T00:00:00" & vbLf) objStream.WriteText (" " + id + "" & vbLf) objStream.WriteText (" " + id + "" & vbLf) objStream.WriteText (" " + id + "" & vbLf) objStream.WriteText (" HEARD" & vbLf) objStream.WriteText (" CRITICAL" & vbLf) objStream.WriteText (" Default" & vbLf) objStream.WriteText (" " & vbLf) objStream.WriteText ("" & vbLf) objStream.SaveToFile file1, 2 objStream.Close 'For second list objStream.Open objStream.WriteText ("" & vbLf) Dim countryCode As String countryCode = Trim(Cells(currentRow, "C").Value) Dim stateCode As String stateCode = Trim(Cells(currentRow, "D").Value) Dim sectionCode As String sectionCode = Trim(Cells(currentRow, "F").Value) Dim courses As String courses = Trim(Cells(currentRow, "E").Value) Dim coursesArray coursesArray = Split(courses, ",") For i = LBound(coursesArray) To UBound(coursesArray) 'MsgBox coursesArray(i) objStream.WriteText (" " & vbLf) objStream.WriteText (" Default" & vbLf) objStream.WriteText (" " + countryCode + "_" + stateCode + "_" + coursesArray(i) + "_" + sectionCode + "" & vbLf) objStream.WriteText (" ACTIVE" & vbLf) objStream.WriteText (" 2017-07-23T11:24:27.548" & vbLf) objStream.WriteText (" VBA_" + countryCode + "_" + stateCode + "_" + coursesArray(i) + "_" + sectionCode + "_Flow" & vbLf) objStream.WriteText (" " + coursesArray(i) + " " + sectionCode + "" & vbLf) objStream.WriteText (" true" & vbLf) objStream.WriteText (" " & vbLf) Next objStream.WriteText (" " & vbLf) objStream.SaveToFile file2, 2 objStream.Close Next currentRow End Sub