Thanks Ken,
I've changed the start and modified the select and bold lines.
The code now stops (2nd time around) just after another .select and setting.
***NOW FAILS HERE***
It finds the select empty, so cannot set the property as required.
I've enclosed the whole of the routine.
What is not being closed, un set from 1st to 2nd run, which causes the
2nd run to run out of resources - "too many selects" in a stack?
Is there an ".unselect" to use before the next .select ?
oAppE.Quit
Set oAppE = Nothing
seems pretty final to me!
TIA Michael
Private Sub cmdCreateFormula_Click()
Dim From_Template As String, To_Template As String, To_Scratch As String
Dim DB As Database, rs As DAO.Recordset, irec As Long
Dim sTrial_Code As String
Dim Emp As String, sSQL As String
Dim NextSheetNo As Integer
Dim i As Integer, ThisRow As Integer, MergeCells As String
Dim BorderCells As String
Dim jj As Integer, Letter As String, TestCells As String, RangeCells As
String, iRowCount As Integer
Dim lRawMaterialID As Integer, sUnit As String
Dim iSeedStartRow As Integer, iSeedEndRow As Integer, iLiquidStartRow As
Integer, iLiquidEndRow As Integer
Dim iPowderMixtureStartRow As Integer, iPowderMixtureEndRow As Integer,
iOtherStartRow As Integer, iOtherEndRow As Integer
Dim LastTableRowCount As Integer
Dim sSumSolidFormula As String, sSumSolidUsed As String, sSumSeedFormula
As String, sSumSeedUsed As String
Dim sSumLiquidFormula As String, sSumLiquidUsed As String,
sSumPowderMixtureFormula As String, sSumPowderMixtureUsed As String
Dim sSumOtherFormula As String, sSumOtherUsed As String
Set DB = CurrentDb()
sSQL = "SELECT Count(tblTrialFormulaLines.LineNo) AS CountOfLineNo " _
& "FROM tblTrialFormulaLines " _
& "Where tblTrialFormulaLines.ProjectNo = " & mlProjectNo & " " _
& "And tblTrialFormulaLines.SubProjectNo = " & mlSubProjectNo & " " _
& "And tblTrialFormulaLines.TrialNo = " & mlTrialNo & ";"
Set rs = DB.OpenRecordset(sSQL, dbOpenSnapshot)
irec = rs.RecordCount
If irec <= 0 Then
MsgBox "No Formula", 0, "Please Note"
Else
irec = rs(0)
End If
rs.Close
Set rs = Nothing
If irec <= 0 Then
DB.Close
Set DB = Nothing
Exit Sub
End If
sTrial_Code = mlProjectNo & "-" & Format(mlSubProjectNo, "00") & "-" &
Format(mlTrialNo, "000")
From_Template = sFormulaTemplatePath & "\Formula_Template.xls"
' To_Template = sTrialPath & "\" & sTrial_Code & "_Formula.xls"
To_Scratch = sScratchPath & "\" & sTrial_Code & "_Formula.xls"
DoCmd.SetWarnings False
' Kill To_Scratch
FileCopy From_Template, To_Scratch
DoCmd.SetWarnings True
Dim oAppE As Excel.Application, oWrkBk As Excel.Workbook, oWrkSh As
Excel.Worksheet
Set oAppE = New Excel.Application
oAppE.Application.Visible = True
Set oWrkBk = oAppE.Workbooks.Open(To_Scratch)
Set oWrkSh = oWrkBk.Worksheets(1)
GoSub Process_Formula
oWrkBk.Save
Set oWrkSh = Nothing
oWrkBk.Close
Set oWrkBk = Nothing
oAppE.Application.Visible = False
oAppE.Quit
Set oAppE = Nothing
DB.Close
Set DB = Nothing
' temporary until problem with repeat fixed
' DoCmd.Close
' DoCmd.Quit
Exit Sub
'------------------------------------------------------------------------------
Process_Formula:
' On Error GoTo 0
iSeedStartRow = 0
iSeedEndRow = 0
iLiquidStartRow = 0
iLiquidEndRow = 0
iPowderMixtureStartRow = 0
iPowderMixtureEndRow = 0
iOtherStartRow = 0
iOtherEndRow = 0
sSumSolidFormula = ""
sSumSolidUsed = ""
sSumSeedFormula = ""
sSumSeedUsed = ""
sSumLiquidFormula = ""
sSumLiquidUsed = ""
sSumPowderMixtureFormula = ""
sSumPowderMixtureUsed = ""
sSumOtherFormula = ""
sSumOtherUsed = ""
' fill worksheet
oWrkSh.Select
oWrkSh.Cells(2, "B") = Me.txtTrialFlavour
oWrkSh.Cells(4, "B") = Me.txtTrialExperimentalCode
oWrkSh.Cells(6, "B") = Me.txtTrialDate
oWrkSh.Cells(8, "B") = Me.txtTrialFinalApplication
iRowCount = 11
' seed section
oWrkSh.Cells(iRowCount, "D") = "Seed"
' make it bold and this line green
sSQL = "SELECT tblTrialFormulaLines.* FROM tblTrialFormulaLines " _
& "Where (((tblTrialFormulaLines.ProjectNo) = " & mlProjectNo & ") " _
& "And ((tblTrialFormulaLines.SubProjectNo) = " & mlSubProjectNo & ") "
_
& "And ((tblTrialFormulaLines.TrialNo) = " & mlTrialNo & ") " _
& "And ((tblTrialFormulaLines.FormulaSection) = '" & "Seed" & "')) " _
& "ORDER BY tblTrialFormulaLines.FormulaNo,
tblTrialFormulaLines.LineNo;"
Set rs = DB.OpenRecordset(sSQL, dbOpenSnapshot)
If rs.RecordCount > 0 Then
rs.MoveFirst
iSeedStartRow = iRowCount + 1
GoSub GetandPlace
iSeedEndRow = iRowCount
If iSeedStartRow = iSeedEndRow Then
sSumSeedFormula = "E" & CStr(iSeedStartRow)
sSumSeedUsed = "H" & CStr(iSeedStartRow)
Else
sSumSeedFormula = "E" & CStr(iSeedStartRow) & ":" & "E" &
CStr(iSeedEndRow)
sSumSeedUsed = "H" & CStr(iSeedStartRow) & ":" & "H" &
CStr(iSeedEndRow)
End If
iRowCount = iRowCount + 1
' oWrkSh.Cells(iRowCount, "D") = "Total of Seed"
' oWrkSh.Cells(iRowCount, "E").Formula = "=SUM(" & sSumSeedFormula &
")"
' oWrkSh.Cells(iRowCount, "H").Formula = "=SUM(" & sSumSeedUsed & ")"
End If
rs.Close
Set rs = Nothing
' liquid section
iRowCount = iRowCount + 1
oWrkSh.Cells(iRowCount, "D") = "Liquid"
' make it bold and this line green
sSQL = "SELECT tblTrialFormulaLines.* FROM tblTrialFormulaLines " _
& "Where (((tblTrialFormulaLines.ProjectNo) = " & mlProjectNo & ") " _
& "And ((tblTrialFormulaLines.SubProjectNo) = " & mlSubProjectNo & ") "
_
& "And ((tblTrialFormulaLines.TrialNo) = " & mlTrialNo & ") " _
& "And ((tblTrialFormulaLines.FormulaSection) = '" & "Liquid" & "')) "
_
& "ORDER BY tblTrialFormulaLines.FormulaNo,
tblTrialFormulaLines.LineNo;"
Set rs = DB.OpenRecordset(sSQL, dbOpenSnapshot)
If rs.RecordCount > 0 Then
rs.MoveFirst
iLiquidStartRow = iRowCount + 1
GoSub GetandPlace
iLiquidEndRow = iRowCount
If iLiquidStartRow = iLiquidEndRow Then
sSumLiquidFormula = "E" & CStr(iLiquidStartRow)
sSumLiquidUsed = "H" & CStr(iLiquidStartRow)
Else
sSumLiquidFormula = "E" & CStr(iLiquidStartRow) & ":" & "E" &
CStr(iLiquidEndRow)
sSumLiquidUsed = "H" & CStr(iLiquidStartRow) & ":" & "H" &
CStr(iLiquidEndRow)
End If
iRowCount = iRowCount + 1
' oWrkSh.Cells(iRowCount, "D") = "Total of Liquid"
' oWrkSh.Cells(iRowCount, "E").Formula = "=SUM(" & sSumLiquidFormula
& ")"
' oWrkSh.Cells(iRowCount, "H").Formula = "=SUM(" & sSumLiquidUsed &
")"
End If
rs.Close
Set rs = Nothing
' powder mixture section
iRowCount = iRowCount + 1
oWrkSh.Cells(iRowCount, "D") = "Powder Mixture"
' make it bold and this line green
sSQL = "SELECT tblTrialFormulaLines.* FROM tblTrialFormulaLines " _
& "Where (((tblTrialFormulaLines.ProjectNo) = " & mlProjectNo & ") " _
& "And ((tblTrialFormulaLines.SubProjectNo) = " & mlSubProjectNo & ") "
_
& "And ((tblTrialFormulaLines.TrialNo) = " & mlTrialNo & ") " _
& "And ((tblTrialFormulaLines.FormulaSection) = '" & "Powder Mixture" &
"')) " _
& "ORDER BY tblTrialFormulaLines.FormulaNo,
tblTrialFormulaLines.LineNo;"
Set rs = DB.OpenRecordset(sSQL, dbOpenSnapshot)
If rs.RecordCount > 0 Then
rs.MoveFirst
iPowderMixtureStartRow = iRowCount + 1
GoSub GetandPlace
iPowderMixtureEndRow = iRowCount
If iPowderMixtureStartRow = iPowderMixtureEndRow Then
sSumPowderMixtureFormula = "E" & CStr(iPowderMixtureStartRow)
sSumPowderMixtureUsed = "H" & CStr(iPowderMixtureStartRow)
Else
sSumPowderMixtureFormula = "E" & CStr(iPowderMixtureStartRow) &
":" & "E" & CStr(iPowderMixtureEndRow)
sSumPowderMixtureUsed = "H" & CStr(iPowderMixtureStartRow) & ":"
& "H" & CStr(iPowderMixtureEndRow)
End If
iRowCount = iRowCount + 1
oWrkSh.Cells(iRowCount, "D") = "Total of Powder Mixture"
oWrkSh.Cells(iRowCount, "E").Formula = "=SUM(" &
sSumPowderMixtureFormula & ")"
oWrkSh.Cells(iRowCount, "H").Formula = "=SUM(" &
sSumPowderMixtureUsed & ")"
oWrkSh.Cells(iRowCount, "F") = "Kg"
oWrkSh.Cells(iRowCount, "I") = "Kg"
' percentage powder mixture of all
oWrkSh.Cells(iRowCount, "G").Formula = "=E" & CStr(iRowCount) & "/E"
& CStr(10 + irec + 8)
oWrkSh.Cells(iRowCount, "J").Formula = "=H" & CStr(iRowCount) & "/H"
& CStr(10 + irec + 8)
End If
rs.Close
Set rs = Nothing
' other section - may not exist
sSQL = "SELECT tblTrialFormulaLines.* FROM tblTrialFormulaLines " _
& "Where (((tblTrialFormulaLines.ProjectNo) = " & mlProjectNo & ") " _
& "And ((tblTrialFormulaLines.SubProjectNo) = " & mlSubProjectNo & ") "
_
& "And ((tblTrialFormulaLines.TrialNo) = " & mlTrialNo & ") " _
& "And ((tblTrialFormulaLines.FormulaSection) = '" & "Other" & "')) " _
& "ORDER BY tblTrialFormulaLines.FormulaNo,
tblTrialFormulaLines.LineNo;"
Set rs = DB.OpenRecordset(sSQL, dbOpenSnapshot)
If rs.RecordCount > 0 Then
iRowCount = iRowCount + 1
oWrkSh.Cells(iRowCount, "D") = "Other"
' make it bold and this line green
rs.MoveFirst
iOtherStartRow = iRowCount + 1
GoSub GetandPlace
iOtherEndRow = iRowCount
If iOtherStartRow = iOtherEndRow Then
sSumOtherFormula = "E" & CStr(iOtherStartRow)
sSumOtherUsed = "H" & CStr(iOtherStartRow)
Else
sSumOtherFormula = "E" & CStr(iOtherStartRow) & ":" & "E" &
CStr(iOtherEndRow)
sSumOtherUsed = "H" & CStr(iOtherStartRow) & ":" & "H" &
CStr(iOtherEndRow)
End If
iRowCount = iRowCount + 1
' oWrkSh.Cells(iRowCount, "D") = "Total of Other"
' oWrkSh.Cells(iRowCount, "E").Formula = "=SUM(" & sSumOtherFormula &
")"
' oWrkSh.Cells(iRowCount, "H").Formula = "=SUM(" & sSumOtherUsed &
")"
End If
rs.Close
Set rs = Nothing
' all
iRowCount = iRowCount + 2
oWrkSh.Cells(iRowCount, "D") = "Total of all solid ingredients"
If sSumSolidFormula <> "" Then
sSumSolidFormula = Left$(sSumSolidFormula, Len(sSumSolidFormula) -
1)
sSumSolidUsed = Left$(sSumSolidUsed, Len(sSumSolidUsed) - 1)
oWrkSh.Cells(iRowCount, "E").Formula = "=SUM(" & sSumSolidFormula &
")"
oWrkSh.Cells(iRowCount, "F") = "Kg"
oWrkSh.Cells(iRowCount, "G") = 1 ' 100%
oWrkSh.Cells(iRowCount, "H").Formula = "=SUM(" & sSumSolidUsed & ")"
oWrkSh.Cells(iRowCount, "I") = "Kg"
oWrkSh.Cells(iRowCount, "J") = 1 ' 100%
End If
LastTableRowCount = iRowCount
If Nz(Me.txtTrialFormulatedByName, "") <> "" Then
iRowCount = iRowCount + 2
oWrkSh.Cells(iRowCount, "A") = "Formula By:"
oWrkSh.Cells(iRowCount, "B") = Me.txtTrialFormulatedByName
BorderCells = "A" & CStr(iRowCount) & ":B" & CStr(iRowCount)
oWrkSh.Range(BorderCells).Font.Bold = True
' oWrkSh.Range(BorderCells).Select
' Selection.Font.Bold = True
End If
If Nz(Me.txtTrialPreparedByName, "") <> "" Then
iRowCount = iRowCount + 2
oWrkSh.Cells(iRowCount, "A") = "Prepared By:"
oWrkSh.Cells(iRowCount, "B") = Me.txtTrialPreparedByName
BorderCells = "A" & CStr(iRowCount) & ":B" & CStr(iRowCount)
oWrkSh.Range(BorderCells).Font.Bold = True
' oWrkSh.Range(BorderCells).Select
' Selection.Font.Bold = True
End If
If Nz(Me.txtTaskCarriedOutByName1, "") <> "" And
Nz(Me.txtTaskActivityCarriedOutName1, "") <> "" Then
iRowCount = iRowCount + 2
oWrkSh.Cells(iRowCount, "A") = Me.txtTaskActivityCarriedOutName1 & "
By:"
oWrkSh.Cells(iRowCount, "B") = Me.txtTaskCarriedOutByName1
BorderCells = "A" & CStr(iRowCount) & ":B" & CStr(iRowCount)
oWrkSh.Range(BorderCells).Font.Bold = True
' oWrkSh.Range(BorderCells).Select
' Selection.Font.Bold = True
End If
If Nz(Me.txtTaskCarriedOutByName2, "") <> "" And
Nz(Me.txtTaskActivityCarriedOutName2, "") <> "" Then
iRowCount = iRowCount + 2
oWrkSh.Cells(iRowCount, "A") = Me.txtTaskActivityCarriedOutName2 & "
By:"
oWrkSh.Cells(iRowCount, "B") = Me.txtTaskCarriedOutByName2
BorderCells = "A" & CStr(iRowCount) & ":B" & CStr(iRowCount)
oWrkSh.Range(BorderCells).Font.Bold = True
' oWrkSh.Range(BorderCells).Select
' Selection.Font.Bold = True
End If
If Nz(Me.txtTaskCarriedOutByName3, "") <> "" And
Nz(Me.txtTaskActivityCarriedOutName3, "") <> "" Then
iRowCount = iRowCount + 2
oWrkSh.Cells(iRowCount, "A") = Me.txtTaskActivityCarriedOutName3 & "
By:"
oWrkSh.Cells(iRowCount, "B") = Me.txtTaskCarriedOutByName3
BorderCells = "A" & CStr(iRowCount) & ":B" & CStr(iRowCount)
oWrkSh.Range(BorderCells).Font.Bold = True
' oWrkSh.Range(BorderCells).Select
' Selection.Font.Bold = True
End If
If Nz(Me.txtTaskCarriedOutByName4, "") <> "" And
Nz(Me.txtTaskActivityCarriedOutName4, "") <> "" Then
iRowCount = iRowCount + 2
oWrkSh.Cells(iRowCount, "A") = Me.txtTaskActivityCarriedOutName4 & "
By:"
oWrkSh.Cells(iRowCount, "B") = Me.txtTaskCarriedOutByName4
BorderCells = "A" & CStr(iRowCount) & ":B" & CStr(iRowCount)
oWrkSh.Range(BorderCells).Font.Bold = True
' oWrkSh.Range(BorderCells).Select
' Selection.Font.Bold = True
End If
If Nz(Me.txtQualityBeadsKg, 0) <> 0 Then
oWrkSh.Cells(LastTableRowCount + 3, "D") = "Qualifying Beads"
oWrkSh.Cells(LastTableRowCount + 4, "D") = "Oversize Beads"
oWrkSh.Cells(LastTableRowCount + 5, "D") = "Undersize Beads + Dust"
oWrkSh.Cells(LastTableRowCount + 6, "D") = "Total Batch"
oWrkSh.Cells(LastTableRowCount + 3, "E") = Me.txtQualityBeadsKg
oWrkSh.Cells(LastTableRowCount + 4, "E") = Me.txtOversizeBeadsKg
oWrkSh.Cells(LastTableRowCount + 5, "E") =
Me.txtUndersizeBeadsandDustKg
oWrkSh.Cells(LastTableRowCount + 6, "E") = Nz(Me.txtQualityBeadsKg,
0) + Nz(Me.txtOversizeBeadsKg, 0) + Nz(Me.txtUndersizeBeadsandDustKg, 0)
BorderCells = "E" & CStr(LastTableRowCount + 3) & ":E" &
CStr(LastTableRowCount + 6)
oWrkSh.Range(BorderCells).Select
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
oWrkSh.Cells(LastTableRowCount + 3, "F") = "Kg"
oWrkSh.Cells(LastTableRowCount + 4, "F") = "Kg"
oWrkSh.Cells(LastTableRowCount + 5, "F") = "Kg"
oWrkSh.Cells(LastTableRowCount + 6, "F") = "Kg"
BorderCells = "F" & CStr(LastTableRowCount + 3) & ":F" &
CStr(LastTableRowCount + 6)
oWrkSh.Range(BorderCells).Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
BorderCells = "D" & CStr(LastTableRowCount + 3) & ":F" &
CStr(LastTableRowCount + 6)
oWrkSh.Range(BorderCells).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlThin
Selection.Borders(xlInsideVertical).LineStyle = xlContinuous
Selection.Borders(xlInsideHorizontal).LineStyle = xlThin
Selection.Borders(xlInsideHorizontal).LineStyle = xlContinuous
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders(xlEdgeLeft).Weight = xlThick
Selection.Borders(xlEdgeRight).LineStyle = xlContinuous
Selection.Borders(xlEdgeRight).Weight = xlThick
End If
If Nz(Me.txtTrialDissolution1, "") <> "" Then
oWrkSh.Cells(LastTableRowCount + 8, "E") = "1"
oWrkSh.Cells(LastTableRowCount + 8, "F") = "2"
oWrkSh.Cells(LastTableRowCount + 8, "G") = "3"
oWrkSh.Cells(LastTableRowCount + 8, "H") = "Avg"
oWrkSh.Cells(LastTableRowCount + 9, "D") = "Dissolution Time"
oWrkSh.Cells(LastTableRowCount + 9, "E") = Me.txtTrialDissolution1
oWrkSh.Cells(LastTableRowCount + 9, "F") = Me.txtTrialDissolution2
oWrkSh.Cells(LastTableRowCount + 9, "G") = Me.txtTrialDissolution3
oWrkSh.Cells(LastTableRowCount + 9, "H") = Me.txtTrialDissolutionAVG
BorderCells = "E" & CStr(LastTableRowCount + 8) & ":H" &
CStr(LastTableRowCount + 8)
oWrkSh.Range(BorderCells).Select
With Selection
.HorizontalAlignment = xlRight ' ***NOW FAILS
HERE***
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
BorderCells = "E" & CStr(LastTableRowCount + 9) & ":H" &
CStr(LastTableRowCount + 9)
oWrkSh.Range(BorderCells).Select
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
BorderCells = "D" & CStr(LastTableRowCount + 8) & ":H" &
CStr(LastTableRowCount + 9)
oWrkSh.Range(BorderCells).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlThin
Selection.Borders(xlInsideVertical).LineStyle = xlContinuous
Selection.Borders(xlInsideHorizontal).LineStyle = xlThin
Selection.Borders(xlInsideHorizontal).LineStyle = xlContinuous
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders(xlEdgeLeft).Weight = xlThick
Selection.Borders(xlEdgeRight).LineStyle = xlContinuous
Selection.Borders(xlEdgeRight).Weight = xlThick
End If
BorderCells = "A11" & ":J" & CStr(LastTableRowCount)
oWrkSh.Range(BorderCells).Select
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders(xlEdgeLeft).Weight = xlThick
Selection.Borders(xlEdgeLeft).ColorIndex = xlAutomatic
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
If iSeedStartRow > 0 Then
BorderCells = "A" & CStr(iSeedStartRow - 1) & ":J" &
CStr(iSeedStartRow - 1)
oWrkSh.Range(BorderCells).Select
Selection.Font.Bold = True
With Selection.Interior
.ColorIndex = 35
.PatternColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders(xlEdgeLeft).Weight = xlThick
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
End With
End If
If iLiquidStartRow > 0 Then
BorderCells = "A" & CStr(iLiquidStartRow - 1) & ":J" &
CStr(iLiquidStartRow - 1)
oWrkSh.Range(BorderCells).Select
Selection.Font.Bold = True
With Selection.Interior
.ColorIndex = 35
.PatternColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders(xlEdgeLeft).Weight = xlThick
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
End With
End If
If iPowderMixtureStartRow > 0 Then
BorderCells = "A" & CStr(iPowderMixtureStartRow - 1) & ":J" &
CStr(iPowderMixtureStartRow - 1)
oWrkSh.Range(BorderCells).Select
Selection.Font.Bold = True
With Selection.Interior
.ColorIndex = 35
.PatternColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders(xlEdgeLeft).Weight = xlThick
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
End With
End If
If iOtherStartRow <> 0 Then
BorderCells = "A" & CStr(iOtherStartRow - 1) & ":J" &
CStr(iOtherStartRow - 1)
oWrkSh.Range(BorderCells).Select
Selection.Font.Bold = True
With Selection.Interior
.ColorIndex = 35
.PatternColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders(xlEdgeLeft).Weight = xlThick
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
End With
End If
BorderCells = "A" & CStr(iPowderMixtureEndRow + 1) & ":J" &
CStr(LastTableRowCount)
oWrkSh.Range(BorderCells).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlThin
Selection.Borders(xlInsideVertical).LineStyle = xlContinuous
Selection.Borders(xlInsideHorizontal).LineStyle = xlThin
Selection.Borders(xlInsideHorizontal).LineStyle = xlContinuous
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders(xlEdgeLeft).Weight = xlThick
Selection.Borders(xlEdgeRight).LineStyle = xlContinuous
Selection.Borders(xlEdgeRight).Weight = xlThick
' oWrkSh.Cells(LastTableRowCount, "J") = " "
Return
Leave:
MsgBox "Error End", 0, "Problem"
Return
'----------------------------------------------------------------------------------------------------------------
GetandPlace:
Do Until rs.EOF
iRowCount = iRowCount + 1
lRawMaterialID = rs!RawMaterialID
sUnit = Nz(DLookup("[RawMaterialUnit]", "tblRawMaterials",
"[RawMaterialID] = " & lRawMaterialID), "Kg")
oWrkSh.Cells(iRowCount, "A") = Nz(rs!MaterialCode, "")
oWrkSh.Cells(iRowCount, "B") = Nz(rs!SupplierAbbreviation, "")
oWrkSh.Cells(iRowCount, "C") = Nz(rs!MaterialBatch, "")
If rs!FormulaNo <> 1 Then
oWrkSh.Cells(iRowCount, "D") = Nz(rs!ProductDescription, "") & "
(" & CStr(rs!FormulaNo) & ")"
Else
oWrkSh.Cells(iRowCount, "D") = Nz(rs!ProductDescription, "")
End If
oWrkSh.Cells(iRowCount, "E") = Nz(rs!FormulaQty, 0)
oWrkSh.Cells(iRowCount, "F") = sUnit
oWrkSh.Cells(iRowCount, "H") = Nz(rs!UsedQty, 0)
oWrkSh.Cells(iRowCount, "I") = sUnit
If rs!Water = False Then
sSumSolidFormula = sSumSolidFormula & "E" & CStr(iRowCount) &
","
sSumSolidUsed = sSumSolidUsed & "H" & CStr(iRowCount) & ","
oWrkSh.Cells(iRowCount, "G").Formula = "=E" & CStr(iRowCount) &
"/E" & CStr(10 + irec + 8)
oWrkSh.Cells(iRowCount, "J").Formula = "=H" & CStr(iRowCount) &
"/H" & CStr(10 + irec + 8)
End If
rs.MoveNext
Loop
Return
End Sub