Bom dia.
Estou querendo utilizar essa função do JPaulo para transferir dados para o excel.
Funciona, mas eu gostaria que fosse tambem o cabeçalho das colunas das consultas.
tentei adaptar, mas não consegui.
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
O modelo em anexo.
Estou querendo utilizar essa função do JPaulo para transferir dados para o excel.
Funciona, mas eu gostaria que fosse tambem o cabeçalho das colunas das consultas.
tentei adaptar, mas não consegui.
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
O modelo em anexo.
- Anexos
- ConsultasParaExcel.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (26 Kb) Baixado 15 vez(es)