Problema con la definición de un rango

28/03/2011 - 17:02 por doparx | Informe spam
Soy nuevo en VBA, por lo que quizás la duda sea trivial . Estoy haciendo una macro en Excel 2011 para mac y la idea es hacer una ,macro que se ejecute en la hoja activa, en ella se debe seleccionar un rango que es variable (cambia de tamaño) para ello hice el siguiente codigo:
'Defino variables
Dim vranfila1, vranfila2, vranfila3, vrancol1, vrancol2, vrancol3 As Integer
'busco la celda donde iniciar la función, requiere que no cambien el registro de la celda
Cells.Find(What:="Registro histórico de Nivel de Ayudantes", After:= _
ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False).Activate
'bajo una fila
ActiveCell.Offset(1, 0).Select
'asigno el valor de la fila inicial del rango a una variable
vranfila1 = Trim(Str(ActiveCell.Row))
vrancol1 = Trim(Str(ActiveCell.Column))
'me muevo al final de la lista con datos
Selection.End(xlDown).Select
'asigno el valor de la fila inicial del rango a una variable
vranfila2 = Trim(Str(ActiveCell.Row))
vrancol2 = Trim(Str(ActiveCell.Column))
'asigno el rango e inserto
ActiveSheet.Range(Cells(vranfila1, vrancol1), Cells(vranfila2, vrancol2)).Select
Selection.Copy

Sin embargo me arroja el sgte error:
"Se ha producido el error '1004' en tiempo de ejecución:
Fallo en el método '_default' de objeto 'Range'
 

Leer las respuestas

#1 Leonardo Azpurua
28/03/2011 - 18:16 | Informe spam
"doparx" escribió en el mensaje
news:
Soy nuevo en VBA, por lo que quizás la duda sea trivial . Estoy
haciendo
una macro en Excel 2011 para mac y la idea es hacer una ,macro que
se ejecute
en
la hoja activa, en ella se debe seleccionar un rango que es variable
(cambia
de
tamaño) para ello hice el siguiente codigo:
'Defino variables
Dim vranfila1, vranfila2, vranfila3, vrancol1, vrancol2, vrancol3 As
Integer
'busco la celda donde iniciar la función, requiere que no cambien el
registro de la celda
Cells.Find(What:="Registro histórico de Nivel de Ayudantes",
After:= _
[... codigo suprimido en la cita...]

Sin embargo me arroja el sgte error:
"Se ha producido el error '1004' en tiempo de ejecución:
Fallo en el método '_default' de objeto 'Range'




Hola,

No conozco "Excel 2011". Creo que solo llega hasta el 2010, y yo llego
hasta el 2007 (cuando no me queda más remedio: prefiero el 2003).

Pero por lo que puedo ver, el código está correcto. Si seleccionas la
opción "Depurar" ¿en qué instrucción está el error?.

No tiene nada que ver con el error, pero si nombras las celdas (en el
menú del 2003 tienes Insertar/Nombre) puedes saltarte la búsqueda del
Cell.Find, y escribir directamente x = Sheet("nombreRango"). Todo lo
que lleve a la simplificacion del código es bueno.

Salud!

Preguntas similares