Al insertar una columna en mi macro, esta se queda seleccionada. ¿Como puedo hacer que esto no suceda?

Al insertar una columna a través de un macro, esta se queda seleccionada y aún dirigiendo la casilla activa a otra celda la columna se sigue quedando seleccionada quedando estéticamente feo. ¿Cómo podría solucionar este problema?.

Sub AnadirTest()
'
' AnadirTest Macro 
' 
 'Insertar Columnas. 
 Sheets("Resultado Test").Range("E5").EntireColumn.Insert 
 'Poner el contenido de una celda en otra hoja (la fecha) 
 Sheets("Resultado Test").Cells(4, "E").Value = Sheets("Calculadora"). Cells(7, "P").Value 
 'Indicar celda activa
 ActiveSheet.Range("E6").Select ' End Sub

Este es el código para inserter la columna.

Y esta es la imagen que resulta.

Como podéis ver en la imagen en las casillas de "Media" al dar en el botón de "Recalcular la media" sin tener ningún dato sale el mensaje de "#¡DIV/0!" y no me gustaría que saliese ese mensaje. ¿Cómo podría quitar ese mensaje?

2 Respuestas

Respuesta
1

Veo bien tu macro

Sub AnadirTest()
'
' AnadirTest Macro
'
'Insertar Columnas.
 Sheets("Resultado Test").Range("E5").EntireColumn.Insert
 'Poner el contenido de una celda en otra hoja (la fecha)
 Sheets("Resultado Test").Cells(4, "E").Value = Sheets("Calculadora").Cells(7, "P").Value
 'Indicar celda activa
 ActiveSheet.Range("E6").Select '
 End Sub

Prueba así

Sub AnadirTest()
'
 ' AnadirTest Macro
 '
 'Insertar Columnas.
 Sheets("Resultado Test").Range("E5").EntireColumn.Insert
 'Poner el contenido de una celda en otra hoja (la fecha)
 Sheets("Resultado Test").Cells(4, "E").Value = Sheets("Calculadora").Cells(7, "P").Value
 'Indicar celda activa
 Range("E6").Select '
 End Sub

Para que no te aparezca el error "#¡DIV/0!", escribe la fórmula así:

=si.error(tu fórmula, "")

Cambia en la función anterior "tu fórmula" por lo que tengas en tu fórmula.


Gracias por responder.

Con respecto a la parte del la columna he probado lo que me indicas y sigue sin solucionarse el problema. La cosa es que tengo que pulsar en otra columna y luego en cualquier celda para que se quite la selección de la columna, si selecciono cualquier celda sin marcar antes otra columna, la columna sigue marcada hasta que selecciono una columna.


Con respecto a la parte del error "#¡DIV/0!", no se como aplicar el "=si.error" en esta formula:

Range("C6") = Application.Average(Range(Cells(6, "E"), Cells(6, uc))) 

Saludos.

Para el problema del error en la división, pensé que tenías una fórmula en la celda.

Cambia tu línea por esto:

If Not IsError(Application.Average(Range(Cells(6, "E"), Cells(6, uc)))) Then
    Range("C6") = Application.Average(Range(Cells(6, "E"), Cells(6, uc)))
Else
    Range("C6") = 0
End If

Para el problema de la selección de la columna, tendría que ver por qué te sucede en tu archivo, envíame tu archivo para revisarlo.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Fco. Javier Navas” y el título de esta pregunta.

Respuesta
1

En mi versión no se queda seleccionada la col, pero de todos modos aclaro un detalle.

Se puede leer en tu código que se trata de una hoja distinta a la activa, ya que siempre se hace a su nombre.

Entonces también debes nombrarla cuando intentas seleccionar alguna celda de esa hoja.

Sub AnadirTest()
'
' AnadirTest Macro 
' 
 'Insertar Columnas. 
 Sheets("Resultado Test").Range("E5").EntireColumn.Insert 
 'Poner el contenido de una celda en otra hoja (la fecha) 
 Sheets("Resultado Test").Cells(4, "E").Value = Sheets("Calculadora"). Cells(7, "P").Value 
 'Indicar celda activa de la hoja Resultado
 Sheets("Resultado Test").Select
 ActiveSheet.Range("E6").Select 
'volver a tu hoja
Sheets("???????").Select    'colocar el nombre de la hoja activa
 End Sub

Puedes colocar todo en una misma línea y te evitas la última, pero generalmente da error... ;(

Sheets("Resultado Text").Range("E6").Select

Gracias Elsa. 

El problema era de Excel. Yo tengo Excel en el Mac que es con el que he programado todos los macros y me daba este problema, pero lo he mirado en el PC y no me sale este problema, así que era del programa de excel para mac.


Para la segunda cuestión que tenia pendiente la voy a crear en una nueva pregunta para a quien le pase lo mismo la encuentre mejor.

Bien, siempre es conveniente aclarar con qué versión Excel están trabajando para precisar la respuesta.

De todos modos tené presente que cuando se trata de código para otra hoja (distinta a la activa), la instrucción de selección también debe mencionar esa hoja, sinó lo único que logras es seleccionar una celda de la hoja activa.

Sdos y no dejes de valorar esta respuesta para dar por cerrado este tema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas