Error 9 al ejecutar código

02/09/2003 - 23:34 por Mario Alberto | Informe spam
Hola:

Tengo el siguiente código que modifique de un mensaje posteado el 10-may-03
por UNITECH, sin embargo al ejecutarlo después de modificarlo me da "error
9" "el subíndice esta fuera del intervalo" en la línea
.Offset(1, Col) = ThisWorkbook.Worksheets(1).Range(Nombres(Col))

No tengo mucha idea de como corregirlo o de si tiene que ver con la
asignación de nombres en total 81 para igual número de columnas

Gracias por la ayuda

Mario Alberto


Sub Agregar_Legajos()
Dim Nombres As Variant
Dim Col As Integer

'Agrega en la siguiente matriz los nombres "entre comillas" _
'y separandolos con una coma(,)

Nombres = Array("NO", "MES", "AÑO", "NCIA", "CIA", "NTRAB", _
"TRAB", "FINFORME", "FAUDITORIA", "FSEG1", "FSEG2", "FSEG3", _
"DLEG", "ALEG", "GTE", "RESP", "AUD1", "AUD2", "AUD3", "AUD4", _
"AUD5", "AUD6", "AUD7", "AUD8", "AUD9", "DGTE", "DRESP", _
"DAUD1", "DAUD2", "DAUD3", "DAUD4", "DAUD5", "DAUD6", "DAUD7", _
"DAUD8", "DAUD9", "HGTE", "HRESP", "HAUD1", "HAUD2", "HAUD3", _
"HAUD4", "HAUD5", "HAUD6", "HAUD7", "HAUD8", "HAUD9", "IGTE", _
"IRESP", "IAUD1", "IAUD2", "IAUD3", "IAUD4", "IAUD5", "IAUD6", _
"IAUD7", "IAUD8", "IAUD9", "LGTE", "LRESP", "LAUD1", "LAUD2", _
"LAUD3", "LAUD4", "LAUD5", "LAUD6", "LAUD7", "LAUD8", "LAUD9", _
"LG1", "LG2", "LG3", "LG4", "LG5", "LG6", "DLG1", "DLG2", "DLG3", _
"DLG4", "DLG5", "DLG6")
Workbooks.Open FileName:= _
"C:\Mis Documentos\BDNACOBRE\Base de datos Portada Legajos.xls"
With Range("A65536").End(xlUp)
For Col = 0 To UBound(Nombres)
.Offset(1, Col) = ThisWorkbook.Worksheets(1).Range(Nombres(Col))
Next
End With
ActiveWorkbook.Save
End Sub

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
03/09/2003 - 07:31 | Informe spam
Hola, Mario Alberto!

... codigo que modifique de un mensaje ... me da "error 9 subíndice fuera del intervalo" en la línea
.Offset(1, Col) = ThisWorkbook.Worksheets(1).Range(Nombres(Col))
[...]
For Col = 0 To UBound(Nombres)
.Offset(1, Col) = ThisWorkbook.Worksheets(1).Range(Nombres(Col))
[...]



==> Los elementos en una matriz (normalmente) se "cuentan" DESDE 0 (cero) HASTA n_elementos MENOS 1 (uno)
(tus 81 elementos "van" de 0 a 80) ... "a menos que" ...
(me parece que es el caso), AL INICIO del modulo se tenga la declaracion =>Option Base 1<= ... con lo cual ...
el primer nombre en ...Range(Nombres(Col)) =>["nombre cero"]<= ¡ NO EXISTE !!! :((
deberas "iniciar" el contador en uno (1) y "restarselo" al "Offset" del "copiar donde" (para "conservar" la columna inicial)
(tendrias que) modificar esa parte del codigo a: == With Range("a65536").End(xlUp)
For Col = 1 To UBound(Nombres)
.Offset(1, Col - 1) = ThisWorkbook.Worksheets(1).Range(Nombres(Col))
Next
End With
o... "regresar" a cero la opcion "base" [ELIMINAR "Option Base 1"] =>SI NO TE "AFECTA" para otras partes de codigo<_______
Saludos,
Héctor.
MS-MVP
Respuesta Responder a este mensaje
#2 Mario Alberto
03/09/2003 - 17:38 | Informe spam
Hola, Héctor Miguel !!

Siguiendo tus apreciables consejos, modifique las líneas de código como me
sugeriste a:

(tendrias que) modificar esa parte del codigo a: ==> With Range("a65536").End(xlUp)
For Col = 1 To UBound(Nombres)
.Offset(1, Col - 1) = ThisWorkbook.Worksheets(1).Range(Nombres(Col))
Next
End With



Sin embargo ahora me da el error 1004 en tiempo de ejecución: "Error
definido por la aplicación o el objeto" .

Alguna sugerencia???


Saludos

Mario Alberto.
Respuesta Responder a este mensaje
#3 Héctor Miguel
04/09/2003 - 02:58 | Informe spam
Hola, Mario Alberto !

... modifique las lineas de codigo [...]
... ahora me da el error 1004 en tiempo de ejecucion: "Error definido por la aplicacion o el objeto".



1) Un error '1004' en tiempo de ejecucion (generalmente) sucede cuando...
-o- se "exceden" (ciertos) limites
-o- un objeto "no admite" una propiedad (o metodo) [o el objeto "mismo" no existe] ... etc. ...

2) En el caso que planteas (probablemente) "alguno(s)" de los nombres en la matriz NO "existe(n)"
-o- ya sea en la hoja (si son nombres "compartidos" entre varias hojas)
-o- o en el libro (si se trata de nombres "unicos" a todo el libro)

==> El codigo "debe estar fallando" A PARTIR del primer nombre que no existe (no esta asignado a algun rango)
te sugiero revisar cual(es) de los nombres (usados en la matriz) "presenta(n)" esta falla :((
_______
Saludos,
Héctor.
MS-MVP
Respuesta Responder a este mensaje
#4 Mario Alberto
05/09/2003 - 00:17 | Informe spam
Hola Héctor Miguel !

Efectúe una revisión de los nombres asignados en la hoja y todos están tal
cual los escribo en el código, sin embargo sigue "fallando" y no tengo idea
de cual sea el error. Te podría enviar una copia compactada del archivo para
que le des una checada, claro si eso no distrae tu tiempo, si así es,
simplemente no atiendas mi petición.
Respuesta Responder a este mensaje
#5 Héctor Miguel
05/09/2003 - 03:07 | Informe spam
Hola, Mario Alberto !

... enviar una copia compactada del archivo para ... una checada [...]



==> Solo quita de la direccion el "NO...SPAM...PLS" ;)
_______
Saludos,
Héctor.
MS-MVP
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida