Jump to content

Maria_80

Members
  • Posts

    213
  • Joined

  • Last visited

  • Country

    Spain

Everything posted by Maria_80

  1. Hola, Os adjunto un fichero con dos hojas. La primera (ORIGEN) es una tabla con 3 columnas y necesitaría agrupar por la primera columna y sumar la tercera. Tal y como figura en la hoja SUMATORIO. Es la primera vez que voy a hacer esto con VBA y me vendría bien algún ejemplo. ¿alguna idea de cómo hacerlo? Gracias! sumatorio.xlsm
  2. Hola, Isidro. Si es que abrí hilo nuevo porque me resultó imposible lo que me recomendaste ayer. Son unos ficheros muy raros. He probado con esto que me envías y no funciona tampoco. Como ya conseguí la primera parte (la de consolidar), he decidido dividir el proceso en dos partes. Primero consolidar y separar por ; Ya tengo en un excel en columna A con una macro el listado completo de registros. Pero vienen separados por ; y no hay forma de hacerlo vía macro, al menos yo no pude. He simplificado con el ejemplo que os envío. - Una curiosidad: Si al hacer Texto en columnas el digo separar por punto y coma, siempre hay algún registro que descuadra, sin embargo y pongo texto en columnas > Otro> y ahí pongo a mano ; lo hace bien. A lo malo hago esa segunda parte a mano. Pero es que algo que creía que sería sencillo, pues al final no lo es. Muchas gracias. seguiré investigando!
  3. Hola, os adjunto un fichero .csv separado por ; No sé si preparé bien el ejemplo porque al hacer doble click se abre directamente en excel y no tengo que hacer lo de separar texto en columnas, pero así lo veis. Si probáis a abrirlo con el bloc de notas, se ven todos los campos tal y como me envían a mí los ficheros y luego tengo que hacer lo de separar texto en columnas. El problema es que son 286 columnas (en el ejemplo he llamado a la cabecera Dato1, Dato2, etc.) y dependiendo del fichero vienen x número de filas (en el ejemplo solo os puse 2, fila a y fila b). He probado con un montón de ejemplos que hay por el foro pero no consigo dar con la solución, y al grabar macro y ver el código me dice que son demasiadas columnas. Alguna idea? Mil gracias! ejemplo.csv
  4. Hola! Muchísimas gracias! Con esto tengo para adaptarlo a mis ficheros. Tengo que hacer alguna modificación, pero al menos he conseguido hacer desaparecer la doble comilla. Gracias!
  5. Gracias, Isidro. Consigo importar todos los csv de golpe y consolidarlos pero no se separan en columnas, se quedan todos los registros en la primera columna. Tengo que hacerlo luego a mano fuera de la macro y separar por ; y doble comilla. Al intentar abrirlo por ejemplo con el bloc de notas, no lo reconoce como un fichero de texto y creo que ahí está el problema, en la doble comilla. No consigo hacer que lo reconozca la macro. Muchas gracias.
  6. Hola, Tengo una plantilla en excel donde con una macro importo y fusiono todos los ficheros de una carpeta. Siempre son .csv separado por comas. Me he encontrado con el problema de que me envían una serie de ficheros .csv separados por ; pero además de eso están separados al comienzo de los campos y al final de los campos por ". Con excel al importar de forma normal tengo que poner delimitador ; y también " Sería algo así: "nombre;apellidos;ciudad;" Esta es la parte del código done consolido los archivos: Private Sub RecorrerArchivos(NombreCarpeta As String) Dim Archivos As Object Dim Carpeta As Object Dim Archivo As Object '-- ThisWorkbook.Sheets("Datos").Range("A1:KN" & Rows.Count).ClearContents 'seleccionamos hoja destino y rango de columnas '-- Set Archivos = CreateObject("Scripting.FileSystemObject") Set Carpeta = Archivos.GetFolder(NombreCarpeta) For Each Archivo In Carpeta.Files If LCase(Right(Archivo.Name, 4)) = ".csv" Then ConsolidarArchivo Archivo.Path 'extensión de los archivos a consolidar extensión .csv Next End Sub No sé cómo modificarlo para añadirle lo de que comienza y termina por doble " o si debería pasar antes otro tipo de macro para convertir los ficheros. Gracias de antemano!
  7. Funciona perfecto! Como siempre, mil gracias!!!!!
  8. Lo pruebo y te digo! Gracias! Es un fichero que me envían en csv pero esa cantidad sale así... hay siempre tres números al final después de un punto, pero ese punto debe ser coma. El formato al importar dice que es numérico... he intentado importarlo de mil maneras sin resultado. Pruebo esto que me comentas y te dido algo.
  9. Hola, Tengo un fichero con una columna que viene en formato número todo separado por punto. El caso es que solo es punto para separar miles el primero, el resto sería una coma (también viene punto). No sé cómo cambiarlo! Os pongo un ejemplo: tengo la cantidad de 10.865.123 pero en realidad es 10.865,123 Os adjunto una columa de ejemplo, gracias de antemano!!! Formato_ejemplo.xlsx
  10. Hola, encontré la solucion en vuestro foro con esto: Dim c As Range For Each c In ActiveSheet.UsedRange.columns("C").Cells c.Value = CDate(c.Value) Next c
  11. Hola, Os adjunto un excel donde la segunda columna es una fecha en formato americano mm/dd/aaaa No consigo cambiarlo con VBA a formato dd/mm/aaaa He visto algún hilo en el foro con esta misma pregunta pero no he podido descargar el ejemplo. Podéis pegarle una vuelta al fichero? Mil gracias! ejemplo_fecha.xlsx
  12. ya lo adapté! funciona perfecto Antoni! Muchísimas gracias!!!!
  13. Hola! quería consultaros si se puede hacer algo en excel con una macro. Sé que puedo importar datos desde otro libro con esto: Workbooks.Open "C:\Users\Usuario\Desktop\Archivo.xlsm" Workbooks("Archivo.xlsm").Worksheets("Hoja1").Range("L12").Copy Destination:=Workbooks("segundoArchivo.xlsm").Worksheets("Hoja1").Range("B11") Workbooks("Archivo.xlsm").Close savechanges:=False Mi pregunta es la siguiente: Podría decirle al código que abra uno a uno todos los libros de una ruta (origen) y me pegue los datos de la primera hoja de cada uno en la hoja 1 de mi segundo archivo (destino), unos debajo de otros? Se puede hacer esto? He visto por ahí muchos ejemplos con un solo libro, siempre y cuando indiques la ruta completa y el nombre del fichero, pero no he visto ejemplos de abrir todos los de una ruta independientemente de su nombre y copiar uno debajo de otro los datos en la hoja 1 del fichero destino. Gracias!
×
×
  • Create New...

Important Information

Privacy Policy