Importar varias hojas de Excel a Access.
Tu respuesta me ayudo bastante la primera vez, ahora nuevamente necesito de tu valiosa ayuda.
Te explico necesito importar un libro de excel completo, sin importar cuantas hojas este tenga.
En este archivo deben ser importadas las tres o más hojas a la base. Como comprenderás esto no es muy fácil si hablamos de más de 2 páginas.
He creado este código pero hasta hora me lee las hojas pero no logro que me importe la información.
Los campos de las hojas de la planilla son iguales y tienen el mismo formato.
Mi código ...
Option Compare Database
Function ContarHoja()
Dim RutaArchivo As String
Dim ObjHoja As Object
Dim strfilename As String
Dim objexcel As Object
Dim i As Integer
Dim objHojas As Object 'Integer
Dim respuesta As String
Dim itm As Variant
Dim Sheetcount As Integer
Dim lista()
strfilename = "C:\Documents and Settings\APGonzalez\Escritorio\Prueba de Importar datos\Hojas de Excel a Exportar a access.xls"
If Len(Dir(strfilename)) = 0 Then
respuesta = MsgBox("El archivo XLS que especificó no existe. Verifique la ruta", vbYesNo + vbCritical + vbDefaultButton2, " Archivo ")
Exit Function
End If
Set objexcel = CreateObject("excel.application")
With objexcel
.displayalerts = False
.workbooks.Open (strfilename)
Sheetcount = .worksheets.Count
ReDim lista(1 To Sheetcount)
For i = 1 To Sheetcount '.worksheets.Count
Set objHojas = .sheets(i)
canHojas = canHojas + 1
lista(i) = .sheets(i).Name
' DoCmd. TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "importa", strfilename, True, lista(i)
Next i
End With
Set objexcel = Nothing 'close
Set ObjHoja = Nothing
End Function
Te explico necesito importar un libro de excel completo, sin importar cuantas hojas este tenga.
En este archivo deben ser importadas las tres o más hojas a la base. Como comprenderás esto no es muy fácil si hablamos de más de 2 páginas.
He creado este código pero hasta hora me lee las hojas pero no logro que me importe la información.
Los campos de las hojas de la planilla son iguales y tienen el mismo formato.
Mi código ...
Option Compare Database
Function ContarHoja()
Dim RutaArchivo As String
Dim ObjHoja As Object
Dim strfilename As String
Dim objexcel As Object
Dim i As Integer
Dim objHojas As Object 'Integer
Dim respuesta As String
Dim itm As Variant
Dim Sheetcount As Integer
Dim lista()
strfilename = "C:\Documents and Settings\APGonzalez\Escritorio\Prueba de Importar datos\Hojas de Excel a Exportar a access.xls"
If Len(Dir(strfilename)) = 0 Then
respuesta = MsgBox("El archivo XLS que especificó no existe. Verifique la ruta", vbYesNo + vbCritical + vbDefaultButton2, " Archivo ")
Exit Function
End If
Set objexcel = CreateObject("excel.application")
With objexcel
.displayalerts = False
.workbooks.Open (strfilename)
Sheetcount = .worksheets.Count
ReDim lista(1 To Sheetcount)
For i = 1 To Sheetcount '.worksheets.Count
Set objHojas = .sheets(i)
canHojas = canHojas + 1
lista(i) = .sheets(i).Name
' DoCmd. TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "importa", strfilename, True, lista(i)
Next i
End With
Set objexcel = Nothing 'close
Set ObjHoja = Nothing
End Function
1 Respuesta
Respuesta de María Celia Ibarra
1