Hello,
I am trying to copy one worksheet to another workbook and I keep on getting a run-time error 9. I have both workbooks open and my error is being caused on the line in blue.
Tom
I am trying to copy one worksheet to another workbook and I keep on getting a run-time error 9. I have both workbooks open and my error is being caused on the line in blue.
Tom
Code:
'Original routine
'Open Assists Worksheet
Call CurMonYrS(sUCI, sMon, sCY)
sFile = "MSP_Assists_" & sMon & sCY
sFileLoc = "\\salmfilesvr1\public\Client Services\AutoRpts\_RptSets\OTHER\MSP\"
sSheet = "Assists_All"
sFileType = ".xls"
Call xlOpen(sFileLoc, sUCI, sFile, sSheet, sFileType)
sSQLR = "SELECT D.deltypedsc,FY.uci,FY.mon_shnm," & _
"FY.fy,I.deltoname,I.prntqid,Pd.mon_txtnum " & _
"FROM ((dbo_prntq_info I " & _
"INNER JOIN dbo_rpt_FYInfo FY ON FY.clntid=I.clntid) " & _
"INNER JOIN dbo_prntq_deltype D ON I.deltype=D.deltypeid) " & _
"INNER JOIN dbo_dic_Period Pd ON FY.rptpd = Pd.pd " & _
"WHERE D.deltypedsc='" & "EMAIL'" & " AND FY.uci='" & "MSP'" & " AND FY.rptpddiff=1 " & _
"ORDER BY I.prntqid;"
Set rstR = CurrentDb.OpenRecordset(sSQLR, dbOpenSnapshot)
If Not rstR.EOF Then
With rstR
.MoveLast
.MoveFirst
End With
For R = 1 To rstR.RecordCount
sType = (rstR![deltypedsc])
sMon = (rstR![mon_shnm])
sYr = (rstR![fy])
sRptName = (FixDesc(rstR![deltoname]))
sRptNum = (rstR![prntqid])
sMonTxt = (rstR![mon_txtnum])
'1st report
'
sFileLoc = "\\salmfilesvr1\public\Client Services\AutoRpts\_RptSets\SALEM\" & sUCI & "\" & sYr & "\" & sMonTxt & "\"
For R = 1 To rstR.RecordCount
sType = (rstR![deltypedsc])
sMon = (rstR![mon_shnm])
sYr = (rstR![fy])
sRptName = (FixDesc(rstR![deltoname]))
sRptNum = (rstR![prntqid])
sMonTxt = (rstR![mon_txtnum])
'1st report
'
sFileLoc = "\\salmfilesvr1\public\Client Services\AutoRpts\_RptSets\SALEM\" & sUCI & "\" & sYr & "\" & sMonTxt & "\"
sReport = sType & "_" & sUCI & "_" & sMon & "_" & sYr & "_" & sRptName & "_" & sRptNum & ".xls"
sS_WrkBk = sUCI & "_Assists_" & sMon & sYr & ".xls"
sT_WrkBk = sReport
sFileType = "Assists_"
Call xlCopyWorksheets(sFileLoc, sUCI, sS_WrkBk, sT_WrkBk, sS_ShtNm)
Next R
End If
Public Function xlOpen(sFileLoc As String, sUCI As String, sFile As String, sSheet As String, sFileType As String)
' *******************************************************
' *** THIS FUNCTION OPENS AN EXCEL TEMPLATE *************
' *******************************************************
'Call xlOpen(sFileLoc, sClient, sFile, sSheet, sFileType)
Dim dBase As DAO.Database
Dim sFileExt As String
Dim sFileOpen As String
Set dBase = CurrentDb
'Set on error in case there are no tables
sFileOpen = sFileLoc & sFile
On Error Resume Next
' OPEN EXCEL
Call xlCreate
If goXlPresent = True Then
'OPEN EXCEL
With goXl
.Workbooks.Open FileName:=sFileOpen
'Select Sheetname for information to go into.
.Sheets(sSheet).Select
'.Sheets & "(""& sSheet & "")" & .Select
.Cells(1, 1).Select
End With
End If
End Function
Public Function xlCopyWorksheets(sFileLoc As String, sUCI As String, sS_WrkBk As String, sT_WrkBk As String, sS_ShtNm As String)
Dim wrkbk As Workbook
Dim sFileType As String
'Open destination workbook
sFileType = "xls"
Call xlOpen(sFileLoc, sUCI, sT_WrkBk, sS_ShtNm, sFileType)
Workbooks(sS_WrkBk).Activate
[Blue] goXl.Workbooks(sS_WrkBk).Sheets(sS_ShtNm).Copy after:=goXl.Workbooks(sT_WrkBk).Sheets(goXl.Workbooks(sT_WrkBk).Sheets.Count) [/Blue]
'Save active workbook
goXl.ActiveWorkbook.Save
'Close Active workbook
goXl.ActiveWorkbook.Close
End Function