El boton para buscar el archivo y tener la ruta y todo eso, ya està mas que listo, ahora el problema viene al aceptar los archivos de excel, ya que al tenerlo listo y todo, al usar el TransferSpreadSheet quiero usar solo 3 columnas de ese excel, el nombre, el id y el importe pagado. No necesito ningun otro dato como fecha, plazo o cosas d esas, lo unico que necesito son esos tres datitos, y no creo haya problema pues los formatos de los excel tienen el mismo numero de columnas, mas no el mismo numero numero de rows, ya algunos tienen desde 1249 registros hasta donde hay unos que tienen solo 15. Estaba pensando en usar alguna variaciòn de lo que es el usedrange para poder definir el nùmero de longitud aunque me regresa siempre algo del tipo $A$1:$X$123, en ese formato cuando yo lo que quiero es tener solo el 1 y el 123 jeje. Ese es un problema.
Otro es, que no quiero importar los headers, ya que el formato dado por los que manejan los excel, generalmente contadores, es un tanto raro, y en los headers siempre ponen caracteres raros o puntos, lo unico que me interesa entonces es la informaciòn pura, pero al poner entre el rango del TransferSpreadSheet y que no tome los headers, siempre me manda un error de que no halla el registro F1. Entonces ese es el otro problema.
Y el tercer y ultimo problema esque el formato no empieza casi nunca en A1, de hecho todos empiezan en C4 entonces queria ver como deberia ser sin tener problemas con lo de que no inicie asi, ya que es una perdida de tiempo abrir excel por excel y modificarlos para que sean en formato que empieza en A1.
Acà anexo mi còdigo:
Código:
Espero alguien pueda ayudarme ya que llevo como 15 horas leyendo y leyendo sin poder hallar una soluciòn plausible.Private Sub busca_Click() Dim strFilter As String Dim strInputFileName As String strFilter = ahtAddFilterItem(strFilter, "*.xls", "*.xls") Me.RutaMaster.value = ahtCommonFileOpenSave( _ Filter:=strFilter, OpenFile:=True, _ DialogTitle:="Selecciona el archivo...", _ Flags:=ahtOFN_HIDEREADONLY) End Sub Private Sub guarda_Click() Dim xlobj Dim wsobj Dim rngobj 'Set xlobj = GetObject(Me.RutaMaster) 'Set wsobj = xlobj.worksheets("6A42 AREA 30") 'Set rngobj = wsobj.usedrange 'DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "PIVNOMRECIB", Me.RutaMaster, True, "A" & rngobj.Address & ":B" & rngobj.Address & "" 'Set xlobj = Nothing DoCmd.TransferSpreadsheet acImportDelim, acSpreadsheetTypeExcel97, "AUXNOMRECIB", Me.RutaMaster, True End Sub
Saludos!