Requirement:
The user's aim is to output approximately 30 worksheets, to seperate workbooks. Frequently, some of those workseets contain no data from row A2 and down. The user wants to stop the macros from generating, what are essentially blank workbooks?
Row A1 will always have a header row, hence why it would need to identify that row A2 is blank.
Solution:
For Each xWs In xWb.Worksheets
If Application.CountA(xWs.Rows(2)) > 0 Then
xWs.Copy
If Val(Application.Version) < 12 Then
FileExtStr = ".xls": FileFormatNum = -4143
Else
Select Case xWb.FileFormat
Case 51:
FileExtStr = ".xlsx": FileFormatNum = 51
Case 52:
If Application.ActiveWorkbook.HasVBProject Then
FileExtStr = ".xlsm": FileFormatNum = 52
Else
FileExtStr = ".xlsx": FileFormatNum = 51
End If
Case 56:
FileExtStr = ".xls": FileFormatNum = 56
Case Else:
FileExtStr = ".xlsb": FileFormatNum = 50
End Select
End If
xFile = FolderName & "\" & Application.ActiveWorkbook.Sheets(1).Name & FileExtStr
Application.ActiveWorkbook.SaveAs xFile, FileFormat:=FileFormatNum
Application.ActiveWorkbook.Close False
End If
Next
Obtained from the OzGrid Help Forum.
Solution provided by KjBox.
See also: Index to Excel VBA Code and Index to Excel Freebies and Lesson 1 - Excel Fundamentals and Index to how to… providing a range of solutions and Index to new resources and reference sheets
See also:
| How to use VBA code to generate report based on criteria |
| How to use Excel VBA code to hide based on criteria |
| How to protect VBA source code from view |
| How to use VBA to turn columns into rows |
| How to turn one operation into a loop in VBA |
| How to create VBA for index and match based on sheet criteria |
Click here to visit our Free 24/7 Excel/VBA Help Forum where there are thousands of posts you can get information from, or you can join the Forum and post your own questions.