Programación excel

¿Hola cómo están?
Tengo un problema, estoy programando en excel para copiar y pegar valores en una hoja aparte del command button. ¿Quisiera qué al hacer click sobre el command button no se me cambie a la hoja de donde estoy tomando los datos es eso posible?... Estoy utilizando lo siguiente:
Sheets("CC Base").Select      "Hay algún comando que solo active la hoja en vez de seleccionar????
Range("Aw2").Select
ActiveCell.FormulaR1C1 = "1"
If ActiveSheet.Range("Aw2").Value = "1" Then
    Range("AW118").Select
    Selection.Copy
    Range("bk2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Sheets("CC Modelo").Select
    Range("d8").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Else
End If
Gracias por su ayuda

1 Respuesta

Respuesta
1
Si no quieres que se active la hoja, entonces no la selecciones.
Pues indicar la celda en una linea por ejemplo:
Sheets("CC Base"). Range(Aw2). Copy
No entendi muy bien cual es la hoja de donde no te kieres mover, si me explicaras que es lo que kieres hacer te podria ayudar mejor.
Hola, gracias por tu ayuda.
T explico, tengo varios command button en la hoja 3, por ejemplo: cada button es un mes del año, cada mes tiene un valor diferente en la celda A2 de la hoja 2, ya que se multiplica por un porcentaje, si doy click en enero, A2 (hoja2) vale 100, si doy click en febrero A2 (Hoja 2) vale 200... necesito que antes de cambiarse de valor este se copie en la hoja 4 para poder medir variaciones, ya lo conseguí con esa macro que te envíe, el problema es que al presionar button no quiero que se cambie de hoja.
Espero poder haberte explicado bien... muchas gracias por tu ayuda
Emmmm...!
Pues si te entendí, solo que te falto decir que nombre de hoja es la 2, 3 y 4 para identificarlas en tu código... pero bueno, adivinando te mando como quedaría el código:
Sheets("CC Base").Range("Aw2") = "1"
If Sheets("CC Base").Range("Aw2").Value = "1" Then
    Sheets("CC Base").Range("AW118").Copy
    Sheets("CC Base").Range("bk2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Sheets("CC Modelo").Range("d8").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
End If
aunque no entiendo porque pones el valor 1 en la celda aw2 y luego preguntas que si es igual a 1 (es un tanto redundante no?).
Lo que entendí de tu código fue que, dar el valor 1 a la celda aw2 de la hoja ccbase y luego preguntar si esa misma celda es igual a 1; si es verdadero, copiar la celda aw118 y pegar el valor en la celda bk2 de la misma hoja ccbase; para terminar el mismo valor copiado de la celda aw118 pegarlo también en la celda d8 de la hoja ccmodelo.
Si estoy mal me corriges... con esto ya no cambiaras la hoja de donde están tus botones.
Me dices como te fue, ¿va?...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas