Jump to content

ssanceb

Members
  • Content Count

    20
  • Joined

  • Last visited

About ssanceb

  • Rank
    Member
  • Birthday 10/08/1980

Converted

  • Campos
    ;
  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
×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png