Ayuda con macros
EStimados expertos:
Problema 1:
Cuando abro mi archivo deseo que siempre se abra en la hoja INSTRUCCIONES, eso ya está OK.
En todas las hojas deseo limitar el área de desplazamiento del cursor
(Puntero); en el editor de VB ya le di las instrucciones para cada hoja; para ejecutar el código para que sea efectivo, me sitúo sobre el código y presiono F5. Al corroborar que el límite del área visual sea el que yo condicioné lo hace perfecto; guardo las instrucciones tanto en VB como en la hoja de excel, cierro el archivo, lo vuelvo a abrir y ya no me respeta el límite del área, el cursor se pasa del área que yo había limitado.
¿Qué debo hacer para que al guardar los cambios y volver a abrir el archivo el área continúe limitada, es decir que no se pueda pasar de la celda B60 para el caso de la hoja INSTRUCCIONES?
De las macros que están más abajo, la primera es porque le adicioné botones para que me mande a la hoja deseada.
A continuación transcribo las macros que puse en la hoja: INSTRUCCIONES
Sub IrAHoja1()
Sheets("INSTRUCCIONES").Select
Range("A1").Select
End Sub
Sub LimitarArea()
Sheets("INSTRUCCIONES").ScrollArea = "A1:B60"
End Sub
Esta solución que me dieron tampoco me ha funcionado:
El tema de que no te respeta es porque lo tenés que 'ejecutar' o llamar desde algún evento. Te envío la primer macro ajustada que es todo lo que necesitas.
Sub IrAHoja1()
Sheets("INSTRUCCIONES").Select
Activesheet.scrollarea = "A1:B60" 'podrías reemplazar por esto:
LimitarArea para que se ejecute la otra rutina, pero me parece innecesario
Range("A1").Select
End Sub
Si tienen un ejemplo ya funcionando en excel que pueda yo visualizar en VB, les agradecería me lo enviaran.
Problema 2:
Tengo dos columnas con las siguientes cifras:
A B
112.5540 ene 05
112.9290 feb 05
113.3370 mar 05
113.9870 abr 05
114.5540 may 05
115.0550 jun 05
115.7725 jul 05
116.4380 ago 05
116.4380 sep 05
116.4380 oct 05
116.4380 nov 05
116.4380 dic 05
Lo que necesito es una función que me diga el mes en que se empiezan a repetir los datos de la columna A, en este caso el número que se empieza a repetir es 116.4380 y el mes sería sep 05. Los datos de la columna A los voy cambiando cada mes según va llegando el que corresponde; ahora que llegue septiembre tendré que ponerle el nuevo
dato. Al cambiar los datos en sep 05 y ponerle por ejemplo 117.0000 a partir de octubre en adelante indicará 117.0000. Al hacer esto, la función ya no me indicará que el mes que se repite es septiembre, sino que ahora deberá ser octubre.
Esta información la necesito como una función ya que el resultado lo voy a ocupar para ponerlo en otra celda.
Por su amable atención les doy las gracias.
Atentamente: Kalim
Problema 1:
Cuando abro mi archivo deseo que siempre se abra en la hoja INSTRUCCIONES, eso ya está OK.
En todas las hojas deseo limitar el área de desplazamiento del cursor
(Puntero); en el editor de VB ya le di las instrucciones para cada hoja; para ejecutar el código para que sea efectivo, me sitúo sobre el código y presiono F5. Al corroborar que el límite del área visual sea el que yo condicioné lo hace perfecto; guardo las instrucciones tanto en VB como en la hoja de excel, cierro el archivo, lo vuelvo a abrir y ya no me respeta el límite del área, el cursor se pasa del área que yo había limitado.
¿Qué debo hacer para que al guardar los cambios y volver a abrir el archivo el área continúe limitada, es decir que no se pueda pasar de la celda B60 para el caso de la hoja INSTRUCCIONES?
De las macros que están más abajo, la primera es porque le adicioné botones para que me mande a la hoja deseada.
A continuación transcribo las macros que puse en la hoja: INSTRUCCIONES
Sub IrAHoja1()
Sheets("INSTRUCCIONES").Select
Range("A1").Select
End Sub
Sub LimitarArea()
Sheets("INSTRUCCIONES").ScrollArea = "A1:B60"
End Sub
Esta solución que me dieron tampoco me ha funcionado:
El tema de que no te respeta es porque lo tenés que 'ejecutar' o llamar desde algún evento. Te envío la primer macro ajustada que es todo lo que necesitas.
Sub IrAHoja1()
Sheets("INSTRUCCIONES").Select
Activesheet.scrollarea = "A1:B60" 'podrías reemplazar por esto:
LimitarArea para que se ejecute la otra rutina, pero me parece innecesario
Range("A1").Select
End Sub
Si tienen un ejemplo ya funcionando en excel que pueda yo visualizar en VB, les agradecería me lo enviaran.
Problema 2:
Tengo dos columnas con las siguientes cifras:
A B
112.5540 ene 05
112.9290 feb 05
113.3370 mar 05
113.9870 abr 05
114.5540 may 05
115.0550 jun 05
115.7725 jul 05
116.4380 ago 05
116.4380 sep 05
116.4380 oct 05
116.4380 nov 05
116.4380 dic 05
Lo que necesito es una función que me diga el mes en que se empiezan a repetir los datos de la columna A, en este caso el número que se empieza a repetir es 116.4380 y el mes sería sep 05. Los datos de la columna A los voy cambiando cada mes según va llegando el que corresponde; ahora que llegue septiembre tendré que ponerle el nuevo
dato. Al cambiar los datos en sep 05 y ponerle por ejemplo 117.0000 a partir de octubre en adelante indicará 117.0000. Al hacer esto, la función ya no me indicará que el mes que se repite es septiembre, sino que ahora deberá ser octubre.
Esta información la necesito como una función ya que el resultado lo voy a ocupar para ponerlo en otra celda.
Por su amable atención les doy las gracias.
Atentamente: Kalim
Respuesta de caranbis
1