Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sub evanios_report()
- Dim wb As Workbook
- Dim ws As Worksheet
- Dim x As Integer
- Dim getName() As String
- Dim getNameLength As Integer
- Dim yAxis As Integer
- ' Set up sheets for the workbook
- Set wb = ActiveWorkbook
- wb.Sheets(1).Name = "Summary Report"
- ' Import date from csv files
- FilesToOpen = Application.GetOpenFilename(FileFilter:="Text Files (*.csv), *.csv", MultiSelect:=True, Title:="Files to import")
- ' Do for each file selected
- x = 1
- yAxis = 10
- While x <= UBound(FilesToOpen)
- wb.Sheets.Add After:=Worksheets(Worksheets.Count) ' create sheet
- Set ws = wb.Worksheets(Worksheets.Count) ' set new sheet active
- ' Import data from csv
- With ws.QueryTables.Add(Connection:="TEXT;" & FilesToOpen(x), Destination:=ws.Range("A1"))
- .TextFileCommaDelimiter = True
- .TextFileStartRow = 3
- .Refresh
- End With
- getName() = Split(ws.Range("B2"), "/") ' Parse for name
- getNameLength = (UBound(getName) - LBound(getName) + 1) ' Get array length
- wb.Sheets(Worksheets.Count).Name = Replace((getName(getNameLength - 2)), ":", " % Free") ' Name sheet
- Columns("B").Hidden = True ' Hide B for charting
- ' Create charts from imported data
- Dim chtObj As ChartObject
- wb.Sheets(1).Name = "Report Summary"
- Set chtObj = Worksheets(1).ChartObjects.Add(10, yAxis, 800, 300)
- chtObj.Chart.ChartWizard Source:=ws.Range("A2:C668")
- x = x + 1
- yAxis = yAxix + 310
- Wend
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement