Jump to content

JosMa

Members
  • Posts

    18
  • Joined

  • Last visited

  • Country

    Spain

About JosMa

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

JosMa's Achievements

  1. Hola Eso que me dices para mi ya es ciencia ficción. De momento para lo que necesito con esto ya tengo bastante. Cuando aprenda un poco ya ire intentando cosas mas complicadas. No te creas que comprender las macros que me habeis ayudado tu, Antoni y Gerson Pineda, me esta costando lo suyo. De momento mis conocimientos son muy basicos y tengo que estar constantemente mirando manuales y aun asi me cuesta. Saludos
  2. Que corto y rapido que lo has hecho. Esto: Do While preg.Cells(rp, 1) <> "" Print #1, preg.Cells(rp, 1) rp = rp + 1 Loop Me imagino que esto, el corta pega que comentaba yo. Ya medio entiendo la macro De esta manera, al ir en una aparte es mas sencillo hacer cualquier modificación en las preguntas que son las susceptibles de hacer modificaciones, la otra parte no se puede modificar. Muy amable y muchas gracias por la ayuda. Saludos
  3. Como te comentaba la parte que va concatenada, la que se encuentra en la Hoja1, la macro lo hace perfecto. Te decia en el mensaje y parece que lo vemos así los dos, puesto que la parte de las preguntas y respuestas es mas o menos fija, aunque es susceptible de cambios, el ponerla en una hoja a parte por ejemplo "Preguntas" con lo que se podrian mantener mas facilmente los cambios, incluso con hacer un corta pega seria suficiente. Saludos Ejemplo3.xlsm
  4. Janlui una cosa más. La primera parte del txt se genera con: Open arch For Output As #1 For i = 1 To 5 Print #1, "Pregunta " & i Print #1, ">a" Print #1, ">b" Print #1, ">c" Print #1, ">d" Next Print #1, String(40, "*") rd = 2 xc = Chr(34) Esa parte del archivo mas o menos es fija, lo único que es susceptible de cambios, tanto en el contenido como en el número de preguntas. He pensado en hacer un libro (“Preguntas”) con los archivos que servirá para el mantenimiento de los posibles cambios que se puedan tener. En la macro que has enviado he sustituido lo que creo que es la parte que corresponde con lo que no hay que concatenar, Open arch For Output As #1 For i = 1 To 5 Print #1, "Pregunta " & i Print #1, ">a" Print #1, ">b" Print #1, ">c" Print #1, ">d" Next Print #1, String(40, "*") rd = 2 xc = Chr(34) con un copiar un rango de una hoja del mismo libro (“Preguntas”) y pegarlo en la hoja activa (“Hoja1”), a partir de ahí que coloque los datos concatenados y ya se genere el txt.: Sheets("Pregunta").Select Range("A1:A25").Select Selection.Copy Sheets("Hoja1").Select Range("A1").Select ActiveSheet.Paste Quedaría así, aunque no me funciona, da error en la línea amarilla, y no sé cómo solucionarlo Sub salida_txt() Application.ScreenUpdating = False Set datos = Worksheets("Hoja1") rd = 2 rs = 58 xc = Chr(34) Sheets("hoja1").Select arch = ActiveWorkbook.Path & "\salida.txt" Dim cadena As String Sheets("Preguntas").Select Range("A1:A58").Select Selection.Copy Sheets("Hoja1").Select Range("A1").Select ActiveSheet.Paste Do While Cells(rd, 1) <> "" cadena = xc & Left(Cells(rd, 3), Len(Cells(rd, 3)) - 6) & xc & "," & xc For i = 7 To 11 cadena = cadena & Cells(rd, i) Next cadena = cadena & xc & "," & xc For i = 12 To 58 cadena = cadena & Cells(rd, i) Next cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc Print #1, cadena rd = rd + 1 Loop Close #1 Application.ScreenUpdating = True MsgBox "Reporte Generado en: " & arch Range("a1").Select End Sub No se si me he armado mas lio del que ya tenia Saludos
  5. Hola Janlui, sencillamente esta perfecto, y el detalle del MsgBox es la guinda. Muchas Gracias Saludos
  6. Muchas Gracias Janlui. Funciona perfecto, veras que he añadido a la macro una última línea que es la que crea el fichero final TXT en una ubicación concreta. Lo que no se es porque una vez generado el TXT la última parte la vuelve a entrecomillar (en la hoja 5 del fichero que adjunto veras un pantallazo del TXT que genera) Repito, muchas gracias por la ayuda Saludos Ejemplo3.xlsm
  7. Buenas tardes. Lo he probado en el excel del office 2016 y la primera me sigue fallando, pero vamos la segunda funcina perfectamente. Lo que te comentaba es que la función "concatenar" cuando las celdas son de texto no me funciona, entonces para cuando los datos son numeros, es cuando tengo que urilizar la expresión "=A1&B1&C1&D1&E1&F1". Esta ultima expresión daria el mismo resultado que "unircadenas", lo unico que en unircadenas puedes utilizar un rango de celdas, y en esta ultima expresión tienes que ir seleccionando una a una las celdas que quieres unir, pero tiene una ventaja muy importante que creo que en concatenar ni unircadenas la tiene, es que las celdas no es necesaio que sean de una misma fila. En cualquier caso, te agradezco la ayuda. Este ultimo comentario solo ha sido por si la aportación le es util a alguien. Una ultima cosa, que aplicación has utilizado para grabar el video.? Saludos
  8. Hola Gracias por la ayuda, te quería comentar ue la primera da error 13 tiempo de ejecución. De macros estoy empezando ahora y no se casi nada, pero quería comentarte ue la función concatenar en Excel cuando la utilizo con texto me funciona bien, pero con números no podía, lo tuve ue solucionar con esta función: =A1&B1&C1&D1&E1&F1 y entonces si unía todas las celdas numéricas en una. Esto ultimo es lo ue me llevo a utilizar la función unircadenas, de esta manera además de poder unir celdas numéricas le podía indicar un rango y de la otra manera tenia ue ir marcando celda a celda. Te comento todo esto por si el error de la macro se debiera a ue las celdas son numéricas y no de texto. En cualquier caso, la opción 2 funciona perfectamente, muchas gracias Saludos
  9. Hola, aqui lo dejo. Gracias por contestar Ejemplo 5.xlsx
  10. Hola, necesito unir un rango grande de celdas, utilizo la función =UNIRCADENAS("";VERDADERO;A19:AS150) y luego voy arrastrando hacia abajo para que haga lo mismo en las filas de abajo, que también son muchas. ¿Con macros se podría utilizar esta función, como sería? Gracias
  11. Buenos Días. Ya está solucionado, no era problema de la macro, era un problema de configuración de las ultimas celdas.
  12. Gracias Antoni, el asignar el numero de columna donde debia de empezar la comparación si que habia caido en ello, pero la segunda modificación no hibiera dado con ella. Una cosa mas y como hago para que los cambions lleguen hasta el final de las filas del cuestionario, se para en la columna BF pero no llega hasta el final. Muchas gracias por tu ayuda Ejemplo 4.xlsm
  13. Buenos Días Antoni, disculpa que te moleste de nuevo. Estoy probando la macro que me enviaste y desde luego que funciona, cambiándole el número de fila la voy adaptando a las diferentes pruebas que estoy haciendo. Lo que no consigo encontrar es por qué cuando me descargo el fichero de los resultados de los cuestionarios hay casillas que no se cambian las respuestas por los números, parece como si no entendiera el contenido de la celda y pone la misma respuesta. He comprobado formatos y contenidos de la hoja de respuestas. No acabo de ver donde se encuentra el error, me imagino que sara algo de formatos de celda pero no consigo averiguarlo, podrías echarle un vistazo a ver si vieras tú el error. He subido un archivo de ejemplo en el que le he añadido al Formato de Salida dos preguntas con sus respuestas, con otro tipo de respuestas distintas y he añadido al Cuestionario Horizontal las preguntas y la plantilla de respuestas. Gracias Ejemplo 4.xlsm
  14. Buenos Días, necesitaría generar un archivo “txt”, con datos de una hoja de Excel. Esto seria posible con una macro.? ¿Me podríais ayudar? Dejo en un archivo lo que necesitaría. Saludos. Gracias Ejemplo.xlsx
×
×
  • Create New...

Important Information

Privacy Policy