salve a selva!
tenho a seguinte rotina (JPAULO) onde exporta de determinada tabela para determinada planilha e celula
Crie uma tabela com a seguinte estrutura e escreva lá dentro o nome das consultas, para que sheet vão e para que celula vão;
TabelaDasConsultas ID Consulta Folha Celula
1 Query1 Sheet1 D5
2 Query2 Sheet2 A2
Public Sub CriaExcel()
'By JPaulo ® Maximo Access
Dim strLivro As String, xls As Object
Dim db As DAO.Database
Dim rst, Rst1 As DAO.Recordset
Dim strSQL, strSQL1 As String
Dim x As String
Dim y As String
Dim z As String
Set db = CurrentDb
Set xls = CreateObject("Excel.Application")
strLivro = "C:\teste.xls" 'diretorio completo do ficheiro
xls.Workbooks.Open (strLivro)
xls.Visible = True
strSQL = "SELECT * FROM TabelaDasConsultas;"
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
With rst
.MoveFirst
Do Until .EOF
z = rst.Fields.Item(1) 'nome da consulta na tabela
x = rst.Fields.Item(2) 'nome do sheet na tabela
y = rst.Fields.Item(3) 'nome da celula na tabela
strSQL1 = z
Set Rst1 = CurrentDb.OpenRecordset(strSQL1, dbOpenDynaset)
xls.Worksheets(x).Activate
xls.ActiveSheet.Range(y).Select
xls.ActiveCell.CopyFromRecordset Rst1
rst.MoveNext
Loop
End With
rst.Close
Rst1.Close
xls.ActiveWorkbook.Save
xls.Application.Quit
Set xls = Nothing
End Sub
funciona perfeitamente, gostaria de saber se tem como variar tambem a planilha onde os dados serão exportados
tenho a seguinte rotina (JPAULO) onde exporta de determinada tabela para determinada planilha e celula
Crie uma tabela com a seguinte estrutura e escreva lá dentro o nome das consultas, para que sheet vão e para que celula vão;
TabelaDasConsultas ID Consulta Folha Celula
1 Query1 Sheet1 D5
2 Query2 Sheet2 A2
Public Sub CriaExcel()
'By JPaulo ® Maximo Access
Dim strLivro As String, xls As Object
Dim db As DAO.Database
Dim rst, Rst1 As DAO.Recordset
Dim strSQL, strSQL1 As String
Dim x As String
Dim y As String
Dim z As String
Set db = CurrentDb
Set xls = CreateObject("Excel.Application")
strLivro = "C:\teste.xls" 'diretorio completo do ficheiro
xls.Workbooks.Open (strLivro)
xls.Visible = True
strSQL = "SELECT * FROM TabelaDasConsultas;"
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
With rst
.MoveFirst
Do Until .EOF
z = rst.Fields.Item(1) 'nome da consulta na tabela
x = rst.Fields.Item(2) 'nome do sheet na tabela
y = rst.Fields.Item(3) 'nome da celula na tabela
strSQL1 = z
Set Rst1 = CurrentDb.OpenRecordset(strSQL1, dbOpenDynaset)
xls.Worksheets(x).Activate
xls.ActiveSheet.Range(y).Select
xls.ActiveCell.CopyFromRecordset Rst1
rst.MoveNext
Loop
End With
rst.Close
Rst1.Close
xls.ActiveWorkbook.Save
xls.Application.Quit
Set xls = Nothing
End Sub
funciona perfeitamente, gostaria de saber se tem como variar tambem a planilha onde os dados serão exportados