Bom dia,
Estou usando este código para importar uma planilha do excel adaptado pelo " Fabio Paes". Segue código abaixo:
Private Sub btImportar_Click()
'------------------------------------------------------------------'
' Adaptado do site UsandoAccess.com '
' Por FabioPaes em 24/01/2017 '
'------------------------------------------------------------------'
Dim strTabela As String
Dim strSQL As String
Dim bdExcel As DAO.Database
Dim rs, rs1 As DAO.Recordset
'Passa o local e nome do arquivo para a variável
strArquivo = CurrentProject.Path & "\Exemplo.xlsx"
'Abre arquivo ListaClientes.xls
Set bdExcel = OpenDatabase(strArquivo, False, False, "Excel 12.0;HDR=Yes;IMEX=0;")
'Monta a consulta do Recordset
strSQL = "SELECT * FROM [Planilha1$]"
'Abre o Recordset da consulta
Set rs = bdExcel.OpenRecordset(strSQL)
'Abre o recordset na tabela que recebera os dados
Set rs1 = CurrentDb.OpenRecordset("tb1")
'Adiciona os dados a tabela tb1
Do While Not rs.EOF
rs1.AddNew
'verifico antes sem tem dados na primeira coluna, se tiver eu lanço, se nao eu ignoro!
If Nz(Len(rs(0)), 0) > 0 Then
rs1!Pos = rs(0) '0 é a primeira coluna do Excel
rs1!NProduto = rs(1)
rs1!Descricao = rs(2)
rs1!Qnt = rs(4)
rs1!valUnit = rs(13)
rs1!ValorTotal = rs(14)
rs1.Update
End If
rs.MoveNext
Loop
'fecha o Recordset
rs.Close
Set rs = Nothing
rs1.Close
Set rs1 = Nothing
'Fecha o arquivo Excel
bdExcel.Close
Set bdExcel = Nothing
MsgBox "A Tabela foi Atualizada...", vbInformation, "Aviso"
End Sub
----------------------------------------------
Minha pergunta é, Como faço para iniciar a importação a partir da linha 20 por exemplo, não precisando assim editar a planilha do excel para retirar o cabeçalho, pois eu já iniciaria na linha que eu quiser.
Espero ter sido claro na minha indagação.
Att,
valdenir
Estou usando este código para importar uma planilha do excel adaptado pelo " Fabio Paes". Segue código abaixo:
Private Sub btImportar_Click()
'------------------------------------------------------------------'
' Adaptado do site UsandoAccess.com '
' Por FabioPaes em 24/01/2017 '
'------------------------------------------------------------------'
Dim strTabela As String
Dim strSQL As String
Dim bdExcel As DAO.Database
Dim rs, rs1 As DAO.Recordset
'Passa o local e nome do arquivo para a variável
strArquivo = CurrentProject.Path & "\Exemplo.xlsx"
'Abre arquivo ListaClientes.xls
Set bdExcel = OpenDatabase(strArquivo, False, False, "Excel 12.0;HDR=Yes;IMEX=0;")
'Monta a consulta do Recordset
strSQL = "SELECT * FROM [Planilha1$]"
'Abre o Recordset da consulta
Set rs = bdExcel.OpenRecordset(strSQL)
'Abre o recordset na tabela que recebera os dados
Set rs1 = CurrentDb.OpenRecordset("tb1")
'Adiciona os dados a tabela tb1
Do While Not rs.EOF
rs1.AddNew
'verifico antes sem tem dados na primeira coluna, se tiver eu lanço, se nao eu ignoro!
If Nz(Len(rs(0)), 0) > 0 Then
rs1!Pos = rs(0) '0 é a primeira coluna do Excel
rs1!NProduto = rs(1)
rs1!Descricao = rs(2)
rs1!Qnt = rs(4)
rs1!valUnit = rs(13)
rs1!ValorTotal = rs(14)
rs1.Update
End If
rs.MoveNext
Loop
'fecha o Recordset
rs.Close
Set rs = Nothing
rs1.Close
Set rs1 = Nothing
'Fecha o arquivo Excel
bdExcel.Close
Set bdExcel = Nothing
MsgBox "A Tabela foi Atualizada...", vbInformation, "Aviso"
End Sub
----------------------------------------------
Minha pergunta é, Como faço para iniciar a importação a partir da linha 20 por exemplo, não precisando assim editar a planilha do excel para retirar o cabeçalho, pois eu já iniciaria na linha que eu quiser.
Espero ter sido claro na minha indagação.
Att,
valdenir