Jump to content

ssanceb

Members
  • Content Count

    20
  • Joined

  • Last visited

Everything posted by ssanceb

  1. Hola @Max2005, en primer lugar muchas gracias de antemano. He copiado el código y me dice al ejecutar la macro "se ha producido el error 13 en tiempo de ejecución: no coinciden los tipos" y al darle a depurar me señala la frase Set ruta=LIBRO.Path. Bueno cualquier tipo de idea que tengas y puedas aportarme de veras que te la agradezco. Muchísimas gracias. Un saludo.
  2. Subo el código por si alguien al leerlo me puede decir algún fallo: y el archivo en formato excel 2003 ya que el anterior archivo estaba en 2013. Muchísimas gracias de nuevo y espero cualquier ayuda posible. Un saludo. Firmas Web.zip
  3. Buenas a todos, acudo a su ayuda para intentar terminar una macro en la que llevo comiéndome la cabeza bastante tiempo. Resumiendo, lo que intento es hacer una hoja de firmas de profesores, en la que según los horarios de cada profesor, donde tienen clase o alguna actividad la casilla quede en blanco con la intención de que firmen y donde en su horario no tengan clase pues aparezca una X para no firmar. Por tanto, la planilla sería diaria, para firmar cada día de la semana, de manera que según el día seleccionado en la lista desplegable de la hoja "HOJA" del Archivo principal "MACRO FIRMAS", la macro abra los archivos de los horarios de los profesores, que se encuentran numerados (en este caso a modo de ejemplo he puesto 3) y que se encuentran en la misma carpeta, y coloque las X correspondientes en las horas de dicho día. Por si a alguien le sirve para ayudarme, tengo la misma macro en openoffice y funciona correctamente, aunque como sabéis el código es distinto. En excel hay alguna parte de la macro que tengo mal programada y no consigo arreglar, ya que al ejecutarla no hace nada. Agradecería cualquier ayuda posible. Subo archivos que espero sirvan de más ayuda que la explicación. Un saludo y muchas gracias de antemano. FIRMAS.rar
  4. Perfecto, muchas gracias Toldeman, por tu tiempo y tu ayuda. Un saludo.
  5. Hola y previamente pido perdón porque conozco las reglas, aunque como era algo genérico, pensé que era más sencillo explicarlo así y después aplicarlo yo a mi caso particular, subo un archivo a ver si así aclaro cosas. Lo de Septiembre=1, Octubre= 2 ... etc, es simplemente porque el curso escolar comienza en septiembre de ahí el tema de que sea el primer mes. En el archivo que subo se puede ver, y aclaro que la macro con la que me gustaría realizar el bucle y que me gustaría repetir es la Macro denominada Rotar y que se haría según el valor escogido en la celda D1 de la hoja Imprimir que es donde se puede seleccionar el mes. Un saludo y espero si alguien se le ocurre algo. Gracias. Macro web.rar
  6. Hola Toldeman y en primer lugar muchas gracias por responder. Creo que ese es mi problema exactamente, que no sé como asignar el valor numérico a cada uno de los meses y al ejecutar la macro coja el valor en función del mes elegido en la lista desplegable de la casilla "D1". De esta forma si eligiera Septiembre en esa casilla la macro se ejecutaría 1 vez, si elijo Octubre se ejecutaría 2 veces (por tanto haría 2 rotaciones) y así sucesivamente. Espero que puedas echarme una mano. Un saludo.
  7. Hola a todos, espero que me puedan echar una mano con la siguiente duda: Tengo una macro (en realidad es parte de otra, pero para lo que voy a explicar a continuación he tenido que hacer sea una propia macro independiente por sí sola), esta macro realiza una rotación de texto cada vez que se ejecuta. El tema es que me gustaría que esta macro se ejecutara 1, 2, 3, 4.... veces en función del mes que apareciera en una celda de otra hoja en la que hay una lista desplegable para elegir dicho mes. Para que me entiendan Septiembre=1, Octubre=2, Noviembre=3. Por tanto al elegir yo de la lista desplegable el mes me gustaría que dicha macro se ejecutara y por tanto se produjera la rotación las veces que corresponden al mes elegido. Ejemplo: si elijo en la celda Noviembre, la macro debería ejecutarse 3 veces seguidas y por tanto 3 rotaciones. No se si me explico lo bastante bien como para que se entienda. Aquí les dejo el código de la rotación por si les sirve de algo aunque creo que para lo que pregunto no es necesario. Sub RotarImprimir() '************************Evitar parpadeo, cálculos, eventos automáticos y saltos de pagina Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False ActiveSheet.DisplayPageBreaks = False '************************************ DEFINICIÓN DE VARIABLES. Dim i As Integer Dim j As Integer Dim k As Integer Dim ilongitud As Integer '************************************ MEDIR CUÁNTAS GUARGIAS HAY EN CADA HORA. Sheets("Horizontal").Select For i = 1 To 30 ilongitud = 0 For j = 1 To 6 If Cells(i, j + 2) <> "" Then ilongitud = ilongitud + 1 If Cells(i, j + 2) Like "*(*)*" Then ilongitud = ilongitud - 1 End If End If Next Cells(i, 9) = ilongitud Next '************************************ GIRAR EL CONTADOR DE CADA HORA. '************************************* 1ª Columna For i = 1 To 30 If Cells(i, 10) <= 1 Then Cells(i, 10) = Cells(i, 9) Else If Cells(i, 10) <= Cells(i, 9) Then Cells(i, 10) = Cells(i, 10) - 1 Else Cells(i, 10) = Cells(i, 9) End If End If Next '************************************** Las demás columnas For i = 1 To 30 For j = 1 To Cells(i, 9) - 1 If Cells(i, 10 + j - 1) = Cells(i, 9) Then Cells(i, 10 + j) = 1 Else Cells(i, 10 + j) = Cells(i, 10 + j - 1) + 1 End If Next Next '****************************************GIRAR LAS LETRAS For i = 1 To 30 For j = 1 To 6 If Cells(i, 9 + j) = "" Then Cells(i, 15 + j) = Cells(i, j + 2) Else Cells(i, 15 + j) = Cells(i, Cells(i, 9 + j) + 2) End If Next Next End Sub[/CODE] Espero que puedan ayudarme, ya que he encontrado información sobre como repetir una macro n veces pero no encuentro como hacerlo para que esa n dependa del valor de una celda que es una lista desplegable y que sería la que tengo para escoger el mes correspondiente. Muchas gracias de antemano y un saludo.
  8. Hola a todos, me gustaría saber si conocéis alguna forma de resumir esta macro que he hecho, que lo que hace en definitiva es copiar un rango y transponerlo en la hoja2, con la peculiaridad de que va avanzando de columna cada 6 filas que ha copiado en la hoja 1. Si os fijáis los únicos parámetros que varían en cada uno de los días que he hecho serían la columna y el número que le resto a la variable h para que me de siempre la fila 3, 10, 17, 24, 31, y 38. Por otro lado al hacer lo mismo con los días de la semana me da problemas, ¿puede ser porque copio celdas combinadas y al pegarlo son celdas normales?. Bueno os dejo la macro para que veáis como se ejecuta y si podéis echarme una mano, simplemente porque aunque se ejecuta bien, estoy seguro de que puede hacerse de una forma más fácil y estoy tan encerrado que tal vez la tenga delante y ni me doy cuenta. Os dejo aquí la macro y subo también archivo por si os puede ayudar en algo. Muchas gracias de antemano a todos los que hacéis posible que compartamos conocimientos día a día por aquí. Un saludo. Transponer final web.rar
  9. Buenas sigo sin poder solucionar mi problema y es que el copiado me lo hace pero al pegar...la macro me lo pega todo en la columna B y me gustaría que lo hiciera tal y como aparece en la hoja "vertical" pero en la hoja 2. Gracias y espero que alguien tenga alguna idea. Saludos!!!
  10. Buenas, estoy realizando como resultado de una macro una transposición de horizontal a vertical en la que me gustaría que se aplicase el mismo ejemplo que pongo a continuación pero para todas las columnas siguientes desde la B hasta la columna F: For x = 1 To 30 Sheets("Hoja1").Select Range(Cells(x, 3), Cells(x, 8)).Copy Sheets("Hoja2").Select h = (x - 1) * 7 + 3 Range("B" & h).PasteSpecial Transpose:=True Next Con esta macro únicamente me pega los datos en la columna B y me gustaría que cada intervalo de 6 filas copiadas que corresponden a 44 pegadas pasara a la columna siguiente. Espero que con la explicación se entienda, pero de todas formas adjunto archivo para explicarlo mejor donde lo que quiero es que en la "Hoja 2" vuelva a pegar los nombres (transponerlo) exactamente igual que en la hoja "Vertical", es la última parte del final de la macro. Espero su ayuda. Saludos!!! Copia de Ejemplo Guardias web modificado.rar
  11. Perfecto, solucionado. De nuevo gracias por tu colaboración Macro Antonio. Saludos!!!
  12. Buenas Macro Antonio...no funciona bien....funciona perfecto jajaja. Muchísimas gracias por tu tiempo y tu ayuda. Voy a intentar comprender la macro paso por paso y supongo que se podría hacer casi de igual forma pero modificándola un poco para que la transposición lo haga en la hoja siguiente en lugar de en la misma hoja, voy a intentarlo y como he dicho. Muchísimas Gracias. Saludos!!!
  13. Muchas gracias de antemano Macro Antonio por tu interés, la he subido tal y como me dijiste a ver si puedes echarle un vistazo y ves alguna posible solución para ayudarme. Saludos!!! Ejemplo Guardias web.zip
  14. ¿Alguien puede echarme una mano con esta parte de la macro que me va a volver loco? Por cierto se me olvidó añadir que no me importa eliminar la fila de separación en blanco en la primera hoja ("vertical") entre las horas, creo que podría facilitar la macro en parte. Bueno espero su ayuda. Saludos!!!
  15. Muchas Gracias por responder Bond007 me ha ayudado tu macro aunque no es exactamente lo que necesito, voy a intentar explicarme mejor y adjuntar un archivo donde creo que se va a entender perfectamente. Me gustaría que la macro realizara el cambio tal cual envío adjunto y que he realizado a mano. Aclaro que necesito que la transposición sea en otra hoja distinta. En la hoja "vertical" viene lo que seria el original y en la hoja "horizontal" lo que realizaría la macro. Por intentar aclarar como máximo por hora de guardia habría 6 personas pero en algunas ocasiones y días hay 5, en el caso de que haya 5 pues la macro puede copiar sin problema la última casilla en blanco. Muchas gracias de antemano. Un saludo!!! Ejemplo Guardias.zip
  16. Hola amigos y gracias de antemano. Mi duda es que no logro conseguir la macro exacta para realizar lo que necesito, aquí expongo un ejemplo más simplificado por si podéis ayudarme, me gustaría transponer de columnas a filas, de una forma particular. En las columnas tengo los días de la semana y en las filas nombres de quien realiza las guardias distribuidos en varios bloques, no me importa que copie las celdas en blanco ya que como podéis ver hay en algunas horas más personas que otras, pero simplemente donde está vacío pues que pegue otra celda vacía sin problema: LUNES MARTES MIÉRCOLES JUEVES VIERNES L1.1 M1.1 L1.2 M1.2 L1.3 M1.3 L1.4 L2.1 M2.1 L2.2 M.2.2 L2.3 M2.3 L2.4 L2.5 Y me gustaría que quedara de la siguiente forma: LUNES L1.1 L1.2 L.13 L1.4 LUNES L2.1 L2.2 L2.3 L2.4 L2.5 MARTES M1.1 M1.2 M1.3 MARTES M2.1 M2.2 M2.3 Por ahora lo que tengo es lo siguiente, el problema es que fallo en algo y no lo tengo claro, copio y pego la parte de la macro que corresponde a este proceso: Dim i As Integer Dim j As Integer For i = 1 To 6 For j = 1 To 5 Sheets("Hoja4").Cells(i + 1, j).Copy Destination:=Sheets("Hoja1").Cells(i / i, j + 1) Next Next[/CODE] Espero haber conseguido explicar lo que intento hacer y os doy las gracias de antemano. Saludos!!!! [color=#ff0000][b]Editado por moderación para envolver el código con etiquetas.[/b][/color]
  17. En primer lugar muchas gracias por contestar, en el ejemplo que me dices es cierto que no hace falta, pero claro mi intención es imprimir todas las fichas por lo que me es más facil tenerlas todas en la hoja, que ir seleccionando una a una para imprimirlas despues. De todas formas he hecho algunas modificaciones a partir de tu ayuda y he conseguido solucionarlo. Muchas gracias y un saludo!!
  18. Hola me gustaría realizar una consulta ya que no tengo ni idea de como conseguir realizar lo que voy a comentar. Tengo una hoja de cálculo donde cada fila pertenece a un cliente. En primer lugar (A1) aparece el nombre de la persona y tras ello, una serie de datos tipo por ejemplo pedidos seguidos de su coste en función del número. En otra hoja me gustaría hacer una ficha por cada cliente, a modo de resumen individual donde mediante una fórmula copie y pegue automáticamente los datos correspondientes a cada uno de los clientes con un formato tipo al que adjunto. Espero que podáis ayudarme ya que en este caso estoy un poco perdido y no me gustaría tener que copiar en cada una de las fichas de los clientes la ubicación del resultado al que pertenece. Un saludo y gracias por adelantado. Ejemplo de duda.rar
×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png