Salto involuntario a otra hoja cuando recorro una columna

5 envíos / 0 nuevos
Último envío
protxo
Imagen de protxo
Offline
última acción: Hace 9 años 6 meses
alta: 20/10/2011 - 15:11
Puntos: 25
Salto involuntario a otra hoja cuando recorro una columna

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

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 23 horas 18 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Salto involuntario a otra hoja cuando recorro una columna

¿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.

visitante (no verificado)
Imagen de visitante
Re: Salto involuntario a otra hoja cuando recorro una columna

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

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 23 horas 18 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Salto involuntario a otra hoja cuando recorro una columna

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.

visitante (no verificado)
Imagen de visitante
Re: Salto involuntario a otra hoja cuando recorro una columna

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