Foro de Ayuda Excel | ||
| Soluciona tus problemas con Excel |
| | |||||||
| Registrarse | Preguntas Frecuentes | Lista de Foreros | Calendario | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
| | LinkBack | Herramientas | Desplegado |
|
#1
| |||
| |||
| Hola tengo un problema con una aplicacion en excel que estoy haciendo. Quisiera que teniendo excel abierto el me tome datos de un archivo .txt, y los pueda usar en excel para hacer calculos.Me dicen q se puede hacer con macro en excel pero la verdad no tengo ni idea como hacerlo, espero me puedan ayudar.Gracias. |
|
#2
| |||
| |||
| Hola diegoandres Te adjunto un ejemplo que ya subí a otro foro que toma los datos de un .txt El nombre del fichero .txt va en la macro, asía que habría que modificarla para adaptarla a tus necesidades. Espero que sea esto lo que necesitas. Un saludo desde Vitoria |
|
#4
| |||
| |||
| Hola eddo ruta = ActiveWorkbook.Path & "\" nomfic = "prueba.txt" Supongo que el fichero de texto va a estar en la misma ruta que la hoja de excel, luego asigno a la variable ruta la ruta del fichero Excel. asigno el nombre del fichero de texto a otra variable With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;" & ruta & nomfic, Destination:=Range("A1")) .TextFileCommaDelimiter = True ' .TextFileSpaceDelimiter = True .Refresh BackgroundQuery:=False End With Importo el fichero de texto delimitado por comas (he dejado la opción de delimitado por espacios sin activar ya que cuando subí el ejemplo al otro foro no estaba claro cuáles eran las necesidades del solicitante) uc = Range("IV1").End(xlToLeft).Column - 1 fil = 2 Veo cuál es la última columna y asigno a una variable la primera fila de trabajo For col = 1 To uc uspas = Application.WorksheetFunction.Trim(Cells(1, col)) us = Left(uspas, Application.WorksheetFunction.Find("]", uspas)) pas = Right(uspas, Len(uspas) - Application.WorksheetFunction.Find("]", uspas) - 1) Range("A" & fil) = us Range("B" & fil) = pas fil = fil + 1 Next col Con el bucle voy separando los términos importados en cada celda de la fila 1 en los dos partes que llevan y los voy situando en las columnas A y B Rows("1:1").Select Selection.QueryTable.Delete Selection.Delete Shift:=xlUp Range("A1").Select Finalmente elimino la importación realizada y listo. Realmente va a depender de cómo estén tus datos en el fichero de texto para realizar un tratamiento u otro. Siempre queda la posibildad de que subas tu fichero de texto y cómo quieres que te quede en Excel. Un saludo desde Vitoria |
|
#5
| |||
| |||
| Cita:
probe tu codigo con mi txt y si me funciono solo que mi txt son numeros que bienen de la siguiente forma: 152.95 206.29 141.10 195.97 111.40 133.26 178.65 125.01 152.24 320.57 283.85 592.87 262.40 219.49 200.92 157.19 195.15 251.67 182.36 200.51 187.72 197.62 170.39 174.93 179.47 -145.64 70.96 138.21 191.02 151.00 199.69 102.32 186.07 112.22 200.10 152.65 158.43 153.89 122.95 259.92 176.58 204.64 285.50 184.83 208.76 220.73 224.44 -76.74 193.50 179.06 215.36 219.49 172.46 140.69 174.93 213.71 93.24 141.93 168.74 201.75 Entonces todo me aparace en la primera columa de excel y no cada dato en una celda como deberia ser. Y lo otro es que en vez de existir el boton de ejecutar la macro deberia esta accion realizarse automaticamente cada vez que abro la hoja de excel ( es decir actualizar al abrir excel) Si me pudes ayudar estare eternamente agradecido. Esto es muy importante para mi |
|
#6
| |||
| |||
| Hola Diego Sube tu archivo de texto comprimido a .txt e indica como quieres que te queden los datos en la hoja de excel y veré que puedo hacer. Un saludo desde Vitoria |
|
#7
| |||
| |||
| Si lo deseas mandame un archivo en formato .TXT exactamente como baja del sistema padre y puesto en la celda "A1" de una hoja. En la otra hoja dime como quieres los datos. Te mando de vuelta una macro para que haga el parse correspondiente, no importando la cantidad de datos. Generalmente lo mas dificil es saber como quiere que queden los datos. Mi correo es: apolopealo@hotmail.com Te garantizo seriedad
__________________ Saludos cordiales |
|
#8
| |||
| |||
| Hola amigo he probado el codigo y pienso que me puede funcionar con mi caso, no se si me puedas ayudar si te envio mi archivo de texto y como se debe mostrar en excel. Te lo agradecerìa mucho |
| Herramientas | |
| Desplegado | |
| |