¿Cómo es posible que en código VBA Excel una variable no tome el valor de una celda?

Tengo la siguiente línea de código VBA excel:

AF=cells(j,31).value

AF definida como string. El contenido de Cells(j, 31) es tipo string también, sé qué hay y no está vacía. Aún así compruebo que AF=""

¿Cómo es posible?

Y no es la única variable en el mismo procedimiento que ocurre esto.

2 Respuestas

Respuesta
1

Asegúrate del valor que tiene la variable j.

Ten en cuenta también que solo poniendo Cells() interpreta que es la hoja activa. Es recomendable definir al inicio de la función las hojas que vas a usar (y las variables).

Dim AF as String
Dim oHoja as Object
Set oHoja = ThisWorkbook.Sheets("Hoja 1")
AF = oHoja.Cells(j, 31).Value

Para no olvidarte de definirlas, puedes poner Option Explicit al inicio del módulo (arriba del primer Sub).

Respuesta
1

Visita:
Cursos de Excel y Macros

-------------------------------------------------------------------------------------------

Qué valor tiene la variable "j"

Si la variable j es igual a 2, entonces revisa qué tienes en la celda "AE2", la columna 31 es la columna "AE".

¿La macro la estás ejecutando en la hoja con datos o la hoja activa es otra?

-------------------------------------------------------------------------------------------

Vídeo recomendado:

Curso de macros. Consejos para empezar a programar. - YouTube

Sal u dos Dante Amor

Gracias!

Comprobaré si se ejecuta en la hoja con datos y no en la que tenía activa. Creo que esa es la clave. Como ha dicho Ricohablador definiré bien las hojas que están implicadas en el procedimiento. 

Revisa el vídeo, ahí explico cómo utilizar celdas en otras hojas.

También revisa el siguiente vídeo:

Curso de macros. Declarar variables en vba excel. - YouTube

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas