Hi can anyone help me. I have an Access Database and need to produce in Excel payment certificates for 22 contracts.
I have tried to define all 22 recordsets and then test each of the recorsets to see if any data is returned.
The problem I have is I dont want to define 22 worksheets for the eventuality that one of the recordsets might return data. I would like to be able to only put data on to worksheets where the recordsets have data and if possible sort worksheet 1,worksheet 2 etc in contract number order.
Here is my code so far.
Private Sub cboExportExcel_Click()
'Const sFile = "S:\Invoicing\Paymentcertificatetmp.xls"
'Screen.MousePointer = vbHourglass
Dim db As DAO.Database
Dim rs As Recordset
Dim qdf As DAO.QueryDef 'new
Dim intMaxCol As Integer
Dim intMaxRow As Integer
Dim objXL As Excel.Application
Dim objWkb As Workbook
Dim objSht As Worksheet
Dim meterReturn As Integer
Dim strsql As String
Dim exSheet As Excel.Worksheet
Dim s1rs As DAO.Recordset
Dim s2rs As DAO.Recordset
Dim s3rs As DAO.Recordset
Dim s4rs As DAO.Recordset
Dim s5rs As DAO.Recordset
Dim s6rs As DAO.Recordset
Dim s7rs As DAO.Recordset
Dim s8rs As DAO.Recordset
Dim s9rs As DAO.Recordset
Dim s10rs As DAO.Recordset
Dim rs1 As DAO.Recordset
Dim rs2 As DAO.Recordset
Dim rs3 As DAO.Recordset
Dim rs4 As DAO.Recordset
Dim rs5 As DAO.Recordset
Dim rs6 As DAO.Recordset
Dim rs7 As DAO.Recordset
Dim rs8 As DAO.Recordset
Dim rs9 As DAO.Recordset
Dim rs10 As DAO.Recordset
Dim rs11 As DAO.Recordset
Dim rs12 As DAO.Recordset
Dim rs13 As DAO.Recordset
Dim rs14 As DAO.Recordset
Dim rs15 As DAO.Recordset
Dim rs16 As DAO.Recordset
Dim rs17 As DAO.Recordset
Dim rs18 As DAO.Recordset
Dim rs19 As DAO.Recordset
Dim rs20 As DAO.Recordset
Dim rs21 As DAO.Recordset
Dim rs22 As DAO.Recordset
'variants to use for formatting loops
Dim NoOfCols As Integer
Dim NoOfRows As Integer
'Iterant for misc loops
Dim i As Integer
Me.logo.SetFocus
DoCmd.RunCommand acCmdCopy
'Start Progress Meter at bottom left of screen
meterReturn = SysCmd(acSysCmdInitMeter, "Generating Excel Please wait process takes about 1 min...", 100)
' Set rs = CurrentDb.OpenRecordset("qryArchivenew ALL Contracts", _
dbOpenSnapshot)
' DoCmd.OpenQuery "qryArchivenew ALL Contracts", acViewNormal
Set db = CurrentDb()
'Setup all 22 Recordsets to see if they have returned any data this week
Set rs1 = db.OpenRecordset("SELECT [ContractName]as Contract,[OrderNumber]as OrderNo,[DepotName],[EstimateNo],[ExchArea],[Description],[Planned]+[DFE] as Qty,[Rate],[Qty]*[Rate] as Total,[organisation] FROM PaymentCertificatetmp where ContractName = '67325712'")
Set rs2 = db.OpenRecordset("SELECT [ContractName]as Contract,[OrderNumber]as OrderNo,DepotName,[EstimateNo],[ExchArea],[Description],[Planned]+[DFE] as Qty,[Rate],[Qty]*[Rate] as Total,[organisation] FROM PaymentCertificatetmp where ContractName = '67325732'")
Set rs3 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583412'")
Set rs4 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583420'")
Set rs5 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583421'")
Set rs6 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583422'")
Set rs7 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583430'")
Set rs8 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583431'")
Set rs9 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583432'")
Set rs10 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583442'")
Set rs11 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325710'")
Set rs12 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325711'")
Set rs13 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325712'")
Set rs14 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325720'")
Set rs15 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325721'")
Set rs16 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325722'")
Set rs17 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325730'")
Set rs18 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325731'")
Set rs19 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325732'")
Set rs20 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325740'")
Set rs21 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325741'")
Set rs22 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325742'")
'THIS AREA TESTS EACH RECORD SET AND SETS THE PREDEFINED VARIABLE WORKSHEET - so far only two Variable Worksheets Defined
'Need to know if their is a better way test recordsets and only put data on to worksheet if their is any data for the week ran.
'ONLY WANT TO PUT DATA ONTO WORKSHEETS FOR RECORDSETS THAT HAVE DATA: EG. IF NO DATA ON FIRST 21 RECORD SETS ONLY PUT DATA ON TO FIRST WORKSHEET.
'IF DATA ON FIRST WORKSHEET PUT DATA ON TO SECOND AND SO ON.
If rs1.RecordCount > 0 Then Set s1rs = rs1 'If recordset1 has data put onto worksheet 1
If rs2.RecordCount > 0 And rs1.RecordCount < 0 Then Set s1rs = rs2 'If recordset2 has data and recordset1 does not put on to sheet1
If rs2.RecordCount > 0 And rs1.RecordCount > 0 Then Set s2rs = rs2 'If recordset2 has data and recordset1 has data put on to sheet2
'If rs2.RecordCount > 0 And rs1.RecordCount < 0 Then Set s1rs = rs2
' If rs3.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs4.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs5.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs6.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs7.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs8.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs9.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs10.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs9.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs11.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount Then GoTo FIRSTSHEETrs1
' If rs12.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs13.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs14.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs15.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs16.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 And rs15.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs17.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 And rs15.RecordCount < 0 And rs16.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs18.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 And rs15.RecordCount < 0 And rs16.RecordCount < 0 And rs17.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs19.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 And rs15.RecordCount < 0 And rs16.RecordCount < 0 And rs17.RecordCount < 0 And rs18.RecordCount < 0 Then GoTo FIRSTSHEETrs1
'If rs20.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 And rs15.RecordCount < 0 And rs16.RecordCount < 0 And rs17.RecordCount < 0 And rs18.RecordCount < 0 And rs19.RecordCount < 0 Then GoTo FIRSTSHEETrs1
'If rs21.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 And rs15.RecordCount < 0 And rs16.RecordCount < 0 And rs17.RecordCount < 0 And rs18.RecordCount < 0 And rs19.RecordCount < 0 Then GoTo FIRSTSHEETrs1
'If rs22.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 And rs15.RecordCount < 0 And rs16.RecordCount < 0 And rs17.RecordCount < 0 And rs18.RecordCount < 0 And rs19.RecordCount < 0 And rs20.RecordCount < 0 And rs21.RecordCount < 0 Then GoTo FIRSTSHEETrs1
FIRSTSHEETrs1:
intMaxCol = s1rs.Fields.Count
If s1rs.RecordCount > 0 Then
s1rs.MoveLast: s1rs.MoveFirst
intMaxRow = s1rs.RecordCount
Set objXL = New Excel.Application
With objXL
.Visible = True
Set objWkb = .Workbooks.add
Set objSht = objWkb.Worksheets(1)
'Select the first worksheet
.Sheets("Sheet1").Select
.Range("f1").PasteSpecial xlPasteAll
.Range("a1").Select
.Selection.RowHeight = 65
.ActiveSheet.Shapes("Picture 1").Select
.Selection.ShapeRange.IncrementLeft 0.75
.Selection.ShapeRange.IncrementTop 16.5
.Range("a2").Value = "Payment Certificate "
.Range("a2").Font.Bold = True
.Range("a2").Font.Name = "Arial"
.Range("a2").Font.Size = 12
.Range("a3").Value = "Subcontractor: " & rs1("organisation")
.Range("a3").Font.Bold = True
.Range("a3").Font.Name = "Arial"
.Range("a3").Font.Size = 12
.Range("h2").Value = "Week Ending: " & "Tbe"
.Range("h2").Font.Name = "Ariel"
.Range("h2").Font.Size = 12
.Range("h2").Font.Bold = True
.Range("h3").Value = "Purchase Order: " & "Tbe"
.Range("h3").Font.Name = "Ariel"
.Range("h3").Font.Size = 12
.Range("h3").Font.Bold = True
.ActiveWindow.Zoom = 95
.Range("A5").Select
'.Columns.EntireColumn.AutoFit
.Columns("A:A").Select
.Selection.ColumnWidth = 9.5
.Columns("B:B").Select
.Selection.ColumnWidth = 12
.Columns("C:C").Select
.Selection.ColumnWidth = 11
.Columns("D
").Select
.Selection.ColumnWidth = 12
.Columns("E:E").Select
.Selection.ColumnWidth = 16
.Columns("F:F").Select
.Selection.ColumnWidth = 62.67
.Columns("G:G").Select
.Selection.ColumnWidth = 4.83
.Columns("H:H").Select
.Selection.ColumnWidth = 11
.Columns("I:I").Select
.Selection.ColumnWidth = 11
.Columns("J:J").Select
.Selection.ColumnWidth = 11
.Columns("H:I").NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
.Range("A4:J4").Select
.Selection.Font.Bold = True
.Columns("A:J").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
.Range("A2").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
Range("A3").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
Range("A4").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
Range("A1").Select
'Populate the variables
NoOfCols = s1rs.Fields.Count
'Write in the column headings
For i = 0 To NoOfCols - 1
.Cells(4, i + 1).Value = s1rs.Fields(i).Name
Next i
'This section copies the data from the recordset to the range of cells specified eg row 10 col 1
.Range(.Cells(5, 1), .Cells(intMaxRow, _
intMaxCol)).CopyFromRecordset s1rs
'Use our variables to format the data populated cells ONLY
' .Range("A1", ExcelCodes(NoOfCols) & 1).Interior.Color = vbYellow
' .Columns.EntireColumn.AutoFit
'And again - using both this time
' .Range("A1", ExcelCodes(NoOfCols) & (NoOfRows + 1)).Borders.Color = RGB(0, 0, 0)
'Adjust column widths
'.Columns.EntireColumn.AutoFit
'----------------------------------------------------------------
SECONDSHEETrs2:
intMaxCol = s2rs.Fields.Count
If s2rs.RecordCount > 0 Then
s2rs.MoveLast: s2rs.MoveFirst
intMaxRow = s2rs.RecordCount
.Sheets.add
' .Sheets.add After:=Sheets(1)
'Select the Second worksheet
'.Sheets.add
.Sheets("Sheet2").Select
.Range("f1").PasteSpecial xlPasteAll
.Range("a1").Select
.Selection.RowHeight = 65
.ActiveSheet.Shapes("Picture 1").Select
.Selection.ShapeRange.IncrementLeft 0.75
.Selection.ShapeRange.IncrementTop 16.5
.Range("a2").Value = "Payment Certificate "
.Range("a2").Font.Bold = True
.Range("a2").Font.Name = "Arial"
.Range("a2").Font.Size = 12
.Range("a3").Value = "Subcontractor: " & s2rs("organisation")
.Range("a3").Font.Bold = True
.Range("a3").Font.Name = "Arial"
.Range("a3").Font.Size = 12
.Range("h2").Value = "Week Ending: " & "Tbe"
.Range("h2").Font.Name = "Ariel"
.Range("h2").Font.Size = 12
.Range("h2").Font.Bold = True
.Range("h3").Value = "Purchase Order: " & "Tbe"
.Range("h3").Font.Name = "Ariel"
.Range("h3").Font.Size = 12
.Range("h3").Font.Bold = True
.ActiveWindow.Zoom = 95
.Range("A5").Select
'.Columns.EntireColumn.AutoFit
.Columns("A:A").Select
.Selection.ColumnWidth = 9.5
.Columns("B:B").Select
.Selection.ColumnWidth = 12
.Columns("C:C").Select
.Selection.ColumnWidth = 11
.Columns("D
").Select
.Selection.ColumnWidth = 12
.Columns("E:E").Select
.Selection.ColumnWidth = 16
.Columns("F:F").Select
.Selection.ColumnWidth = 62.67
.Columns("G:G").Select
Selection.ColumnWidth = 4.83
.Columns("H:H").Select
Selection.ColumnWidth = 11
.Columns("I:I").Select
Selection.ColumnWidth = 11
.Columns("J:J").Select
.Selection.ColumnWidth = 11
.Columns("H:I").NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
.Range("A4:J4").Select
.Selection.Font.Bold = True
.Selection.Font.Bold = True
.Columns("A:J").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Range("A2").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
Range("A3").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
Range("A4").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
Range("A1").Select
'Populate the variables
NoOfCols = s2rs.Fields.Count
'Write in the column headings
For i = 0 To NoOfCols - 1
.Cells(4, i + 1).Value = s2rs.Fields(i).Name
Next i
'This section copies the data from the recordset to the range of cells specified eg row 10 col 1
.Range(.Cells(5, 1), .Cells(intMaxRow, _
intMaxCol)).CopyFromRecordset s2rs
'Use our variables to format the data populated cells ONLY
'.Range("A1", ExcelCodes(NoOfCols) & 1).Interior.Color = vbYellow
'.Columns.EntireColumn.AutoFit
'And again - using both this time
' .Range("A1", ExcelCodes(NoOfCols) & (NoOfRows + 1)).Borders.Color = RGB(0, 0, 0)
'Adjust column widths
' .Columns.EntireColumn.AutoFit
End If
'Turn the Progress meter off
meterReturn = SysCmd(acSysCmdRemoveMeter)
Me.cboExportExcel.SetFocus
End With
End If
End Sub
I have tried to define all 22 recordsets and then test each of the recorsets to see if any data is returned.
The problem I have is I dont want to define 22 worksheets for the eventuality that one of the recordsets might return data. I would like to be able to only put data on to worksheets where the recordsets have data and if possible sort worksheet 1,worksheet 2 etc in contract number order.
Here is my code so far.
Private Sub cboExportExcel_Click()
'Const sFile = "S:\Invoicing\Paymentcertificatetmp.xls"
'Screen.MousePointer = vbHourglass
Dim db As DAO.Database
Dim rs As Recordset
Dim qdf As DAO.QueryDef 'new
Dim intMaxCol As Integer
Dim intMaxRow As Integer
Dim objXL As Excel.Application
Dim objWkb As Workbook
Dim objSht As Worksheet
Dim meterReturn As Integer
Dim strsql As String
Dim exSheet As Excel.Worksheet
Dim s1rs As DAO.Recordset
Dim s2rs As DAO.Recordset
Dim s3rs As DAO.Recordset
Dim s4rs As DAO.Recordset
Dim s5rs As DAO.Recordset
Dim s6rs As DAO.Recordset
Dim s7rs As DAO.Recordset
Dim s8rs As DAO.Recordset
Dim s9rs As DAO.Recordset
Dim s10rs As DAO.Recordset
Dim rs1 As DAO.Recordset
Dim rs2 As DAO.Recordset
Dim rs3 As DAO.Recordset
Dim rs4 As DAO.Recordset
Dim rs5 As DAO.Recordset
Dim rs6 As DAO.Recordset
Dim rs7 As DAO.Recordset
Dim rs8 As DAO.Recordset
Dim rs9 As DAO.Recordset
Dim rs10 As DAO.Recordset
Dim rs11 As DAO.Recordset
Dim rs12 As DAO.Recordset
Dim rs13 As DAO.Recordset
Dim rs14 As DAO.Recordset
Dim rs15 As DAO.Recordset
Dim rs16 As DAO.Recordset
Dim rs17 As DAO.Recordset
Dim rs18 As DAO.Recordset
Dim rs19 As DAO.Recordset
Dim rs20 As DAO.Recordset
Dim rs21 As DAO.Recordset
Dim rs22 As DAO.Recordset
'variants to use for formatting loops
Dim NoOfCols As Integer
Dim NoOfRows As Integer
'Iterant for misc loops
Dim i As Integer
Me.logo.SetFocus
DoCmd.RunCommand acCmdCopy
'Start Progress Meter at bottom left of screen
meterReturn = SysCmd(acSysCmdInitMeter, "Generating Excel Please wait process takes about 1 min...", 100)
' Set rs = CurrentDb.OpenRecordset("qryArchivenew ALL Contracts", _
dbOpenSnapshot)
' DoCmd.OpenQuery "qryArchivenew ALL Contracts", acViewNormal
Set db = CurrentDb()
'Setup all 22 Recordsets to see if they have returned any data this week
Set rs1 = db.OpenRecordset("SELECT [ContractName]as Contract,[OrderNumber]as OrderNo,[DepotName],[EstimateNo],[ExchArea],[Description],[Planned]+[DFE] as Qty,[Rate],[Qty]*[Rate] as Total,[organisation] FROM PaymentCertificatetmp where ContractName = '67325712'")
Set rs2 = db.OpenRecordset("SELECT [ContractName]as Contract,[OrderNumber]as OrderNo,DepotName,[EstimateNo],[ExchArea],[Description],[Planned]+[DFE] as Qty,[Rate],[Qty]*[Rate] as Total,[organisation] FROM PaymentCertificatetmp where ContractName = '67325732'")
Set rs3 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583412'")
Set rs4 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583420'")
Set rs5 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583421'")
Set rs6 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583422'")
Set rs7 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583430'")
Set rs8 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583431'")
Set rs9 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583432'")
Set rs10 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '65583442'")
Set rs11 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325710'")
Set rs12 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325711'")
Set rs13 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325712'")
Set rs14 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325720'")
Set rs15 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325721'")
Set rs16 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325722'")
Set rs17 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325730'")
Set rs18 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325731'")
Set rs19 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325732'")
Set rs20 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325740'")
Set rs21 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325741'")
Set rs22 = db.OpenRecordset("SELECT * FROM PaymentCertificatetmp where ContractName = '67325742'")
'THIS AREA TESTS EACH RECORD SET AND SETS THE PREDEFINED VARIABLE WORKSHEET - so far only two Variable Worksheets Defined
'Need to know if their is a better way test recordsets and only put data on to worksheet if their is any data for the week ran.
'ONLY WANT TO PUT DATA ONTO WORKSHEETS FOR RECORDSETS THAT HAVE DATA: EG. IF NO DATA ON FIRST 21 RECORD SETS ONLY PUT DATA ON TO FIRST WORKSHEET.
'IF DATA ON FIRST WORKSHEET PUT DATA ON TO SECOND AND SO ON.
If rs1.RecordCount > 0 Then Set s1rs = rs1 'If recordset1 has data put onto worksheet 1
If rs2.RecordCount > 0 And rs1.RecordCount < 0 Then Set s1rs = rs2 'If recordset2 has data and recordset1 does not put on to sheet1
If rs2.RecordCount > 0 And rs1.RecordCount > 0 Then Set s2rs = rs2 'If recordset2 has data and recordset1 has data put on to sheet2
'If rs2.RecordCount > 0 And rs1.RecordCount < 0 Then Set s1rs = rs2
' If rs3.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs4.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs5.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs6.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs7.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs8.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs9.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs10.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs9.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs11.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount Then GoTo FIRSTSHEETrs1
' If rs12.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs13.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs14.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs15.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs16.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 And rs15.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs17.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 And rs15.RecordCount < 0 And rs16.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs18.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 And rs15.RecordCount < 0 And rs16.RecordCount < 0 And rs17.RecordCount < 0 Then GoTo FIRSTSHEETrs1
' If rs19.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 And rs15.RecordCount < 0 And rs16.RecordCount < 0 And rs17.RecordCount < 0 And rs18.RecordCount < 0 Then GoTo FIRSTSHEETrs1
'If rs20.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 And rs15.RecordCount < 0 And rs16.RecordCount < 0 And rs17.RecordCount < 0 And rs18.RecordCount < 0 And rs19.RecordCount < 0 Then GoTo FIRSTSHEETrs1
'If rs21.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 And rs15.RecordCount < 0 And rs16.RecordCount < 0 And rs17.RecordCount < 0 And rs18.RecordCount < 0 And rs19.RecordCount < 0 Then GoTo FIRSTSHEETrs1
'If rs22.RecordCount > 0 And rs1.RecordCount < 0 And rs2.RecordCount < 0 And rs3.RecordCount < 0 And rs4.RecordCount < 0 And rs5.RecordCount < 0 And rs6.RecordCount < 0 And rs7.RecordCount < 0 And rs8.RecordCount < 0 And rs9.RecordCount < 0 And rs10.RecordCount < 0 And rs11.RecordCount < 0 And rs12.RecordCount < 0 And rs13.RecordCount < 0 And rs14.RecordCount < 0 And rs15.RecordCount < 0 And rs16.RecordCount < 0 And rs17.RecordCount < 0 And rs18.RecordCount < 0 And rs19.RecordCount < 0 And rs20.RecordCount < 0 And rs21.RecordCount < 0 Then GoTo FIRSTSHEETrs1
FIRSTSHEETrs1:
intMaxCol = s1rs.Fields.Count
If s1rs.RecordCount > 0 Then
s1rs.MoveLast: s1rs.MoveFirst
intMaxRow = s1rs.RecordCount
Set objXL = New Excel.Application
With objXL
.Visible = True
Set objWkb = .Workbooks.add
Set objSht = objWkb.Worksheets(1)
'Select the first worksheet
.Sheets("Sheet1").Select
.Range("f1").PasteSpecial xlPasteAll
.Range("a1").Select
.Selection.RowHeight = 65
.ActiveSheet.Shapes("Picture 1").Select
.Selection.ShapeRange.IncrementLeft 0.75
.Selection.ShapeRange.IncrementTop 16.5
.Range("a2").Value = "Payment Certificate "
.Range("a2").Font.Bold = True
.Range("a2").Font.Name = "Arial"
.Range("a2").Font.Size = 12
.Range("a3").Value = "Subcontractor: " & rs1("organisation")
.Range("a3").Font.Bold = True
.Range("a3").Font.Name = "Arial"
.Range("a3").Font.Size = 12
.Range("h2").Value = "Week Ending: " & "Tbe"
.Range("h2").Font.Name = "Ariel"
.Range("h2").Font.Size = 12
.Range("h2").Font.Bold = True
.Range("h3").Value = "Purchase Order: " & "Tbe"
.Range("h3").Font.Name = "Ariel"
.Range("h3").Font.Size = 12
.Range("h3").Font.Bold = True
.ActiveWindow.Zoom = 95
.Range("A5").Select
'.Columns.EntireColumn.AutoFit
.Columns("A:A").Select
.Selection.ColumnWidth = 9.5
.Columns("B:B").Select
.Selection.ColumnWidth = 12
.Columns("C:C").Select
.Selection.ColumnWidth = 11
.Columns("D
.Selection.ColumnWidth = 12
.Columns("E:E").Select
.Selection.ColumnWidth = 16
.Columns("F:F").Select
.Selection.ColumnWidth = 62.67
.Columns("G:G").Select
.Selection.ColumnWidth = 4.83
.Columns("H:H").Select
.Selection.ColumnWidth = 11
.Columns("I:I").Select
.Selection.ColumnWidth = 11
.Columns("J:J").Select
.Selection.ColumnWidth = 11
.Columns("H:I").NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
.Range("A4:J4").Select
.Selection.Font.Bold = True
.Columns("A:J").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
.Range("A2").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
Range("A3").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
Range("A4").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
Range("A1").Select
'Populate the variables
NoOfCols = s1rs.Fields.Count
'Write in the column headings
For i = 0 To NoOfCols - 1
.Cells(4, i + 1).Value = s1rs.Fields(i).Name
Next i
'This section copies the data from the recordset to the range of cells specified eg row 10 col 1
.Range(.Cells(5, 1), .Cells(intMaxRow, _
intMaxCol)).CopyFromRecordset s1rs
'Use our variables to format the data populated cells ONLY
' .Range("A1", ExcelCodes(NoOfCols) & 1).Interior.Color = vbYellow
' .Columns.EntireColumn.AutoFit
'And again - using both this time
' .Range("A1", ExcelCodes(NoOfCols) & (NoOfRows + 1)).Borders.Color = RGB(0, 0, 0)
'Adjust column widths
'.Columns.EntireColumn.AutoFit
'----------------------------------------------------------------
SECONDSHEETrs2:
intMaxCol = s2rs.Fields.Count
If s2rs.RecordCount > 0 Then
s2rs.MoveLast: s2rs.MoveFirst
intMaxRow = s2rs.RecordCount
.Sheets.add
' .Sheets.add After:=Sheets(1)
'Select the Second worksheet
'.Sheets.add
.Sheets("Sheet2").Select
.Range("f1").PasteSpecial xlPasteAll
.Range("a1").Select
.Selection.RowHeight = 65
.ActiveSheet.Shapes("Picture 1").Select
.Selection.ShapeRange.IncrementLeft 0.75
.Selection.ShapeRange.IncrementTop 16.5
.Range("a2").Value = "Payment Certificate "
.Range("a2").Font.Bold = True
.Range("a2").Font.Name = "Arial"
.Range("a2").Font.Size = 12
.Range("a3").Value = "Subcontractor: " & s2rs("organisation")
.Range("a3").Font.Bold = True
.Range("a3").Font.Name = "Arial"
.Range("a3").Font.Size = 12
.Range("h2").Value = "Week Ending: " & "Tbe"
.Range("h2").Font.Name = "Ariel"
.Range("h2").Font.Size = 12
.Range("h2").Font.Bold = True
.Range("h3").Value = "Purchase Order: " & "Tbe"
.Range("h3").Font.Name = "Ariel"
.Range("h3").Font.Size = 12
.Range("h3").Font.Bold = True
.ActiveWindow.Zoom = 95
.Range("A5").Select
'.Columns.EntireColumn.AutoFit
.Columns("A:A").Select
.Selection.ColumnWidth = 9.5
.Columns("B:B").Select
.Selection.ColumnWidth = 12
.Columns("C:C").Select
.Selection.ColumnWidth = 11
.Columns("D
.Selection.ColumnWidth = 12
.Columns("E:E").Select
.Selection.ColumnWidth = 16
.Columns("F:F").Select
.Selection.ColumnWidth = 62.67
.Columns("G:G").Select
Selection.ColumnWidth = 4.83
.Columns("H:H").Select
Selection.ColumnWidth = 11
.Columns("I:I").Select
Selection.ColumnWidth = 11
.Columns("J:J").Select
.Selection.ColumnWidth = 11
.Columns("H:I").NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
.Range("A4:J4").Select
.Selection.Font.Bold = True
.Selection.Font.Bold = True
.Columns("A:J").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Range("A2").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
Range("A3").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
Range("A4").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
Range("A1").Select
'Populate the variables
NoOfCols = s2rs.Fields.Count
'Write in the column headings
For i = 0 To NoOfCols - 1
.Cells(4, i + 1).Value = s2rs.Fields(i).Name
Next i
'This section copies the data from the recordset to the range of cells specified eg row 10 col 1
.Range(.Cells(5, 1), .Cells(intMaxRow, _
intMaxCol)).CopyFromRecordset s2rs
'Use our variables to format the data populated cells ONLY
'.Range("A1", ExcelCodes(NoOfCols) & 1).Interior.Color = vbYellow
'.Columns.EntireColumn.AutoFit
'And again - using both this time
' .Range("A1", ExcelCodes(NoOfCols) & (NoOfRows + 1)).Borders.Color = RGB(0, 0, 0)
'Adjust column widths
' .Columns.EntireColumn.AutoFit
End If
'Turn the Progress meter off
meterReturn = SysCmd(acSysCmdRemoveMeter)
Me.cboExportExcel.SetFocus
End With
End If
End Sub