Hola
Me pasa una cosa curiosa estoy haciendo una macro que recorra varias columnas y lea los numeros de dichas columnas y luego tengo un select case para que segun el numero que sea me lo ponga en otra hoja, en principio funciona bien pero al llegar al numero salta a la otra hoja. Es curioso que solo pase con el numero 2.
Gracias de antemano
Protxo
¿cómo pones el número en la otra hoja? ¿activándola? ¿luego vuelves a la hoja inicial?
si puedes adjuntar el código le echo un vistazo a ver si veo algo raro.
------
Ya sé Excel, pero necesito más ahora en pdf
------
Ya sé Excel, pero necesito más.
Hola aqui te pongo el codigo:
Sub LEManual4()
On Error Resume Next
Application.ScreenUpdating = False
Hoja1.Select
Range("B24").Select
Do While Not IsEmpty(ActiveCell)
Do While Not IsEmpty(ActiveCell)
celda = ActiveCell.Address
Sheets(ActiveCell.Value).Select
dato = Range(celda)
Select Case (dato)
Case Is = 1
Hoja26.Range("Q20") = 1
Case Is = 2
Hoja26.Range("Q18") = 1
Case Is = 3
Hoja26.Range("Q16") = 1
Case Is = 4
Hoja26.Range("Q14") = 1
Case Is = 5
Hoja26.Range("Q12") = 1
Case Is = 6
Hoja26.Range("Q10") = 1
Case Is = 7
Hoja26.Range("Q8") = 1
Case Is = 8
Hoja26.Range("Q6") = 1
Case Is = 9
Hoja26.Range("Q4") = 1
Case Is = 10
Hoja26.Range("Q2") = 1
Case Is = 11
Hoja26.Range("S20") = 1
Case Is = 12
Hoja26.Range("S18") = 1
Case Is = 13
Hoja26.Range("S16") = 1
Case Is = 14
Hoja26.Range("S14") = 1
Case Is = 15
Hoja26.Range("S12") = 1
Case Is = 16
Hoja26.Range("S10") = 1
Case Is = 17
Hoja26.Range("S8") = 1
Case Is = 18
Hoja26.Range("S6") = 1
Case Is = 19
Hoja26.Range("S4") = 1
Case Is = 20
End Select
Hoja1.Select
ActiveCell.Offset(1, 0).Select
Loop
Hoja26.Range("D12") = 1
Application.ScreenUpdating = True
'' Hoja26.PrintOut
Hoja26.Select
Range("D2:AN22").ClearContents
'Volvemos a la hoja inicial
Hoja1.Select
'Subimos 7 filas y nos movemos una columna a la derecha
ActiveCell.Offset(-7, 1).Select
Loop
End Sub
Solo ocurre el salto hacia la hoja26 cuando estamos comprobando el case 2
Saludos y gracias
esto es un poco raro ¿no?
celda = ActiveCell.Address 'tomas la dirección de la hoja activa, que es Hoja1
Sheets(ActiveCell.Value).Select 'cambias a otra hoja
dato = Range(celda) ' tomas el valor de la celda, pero de la hoja actualmente activa, que es la que se llama lo que ponga en la celda de la hoja1
por cierto, ¿tus hojas no se llamarán 1,2,3,4..? poque entonces Sheets(ActiveCell.Value).Select se liará y confundirá el número de índice de la hoja con el nombre de la hoja.
quiero decir, que la hoja número 1, puede que no se llame "1", comprueba que coinciden
------
Ya sé Excel, pero necesito más ahora en pdf
------
Ya sé Excel, pero necesito más.
Hola
Ya esta solucionado era "Sheets(ActiveCell.Value).Select " el que lo liaba todo.la verdad es que no se porque lo puse ahí.
Gracias por tu interes.
Protxo