Asignando una Formula a una Celda Activa

24/03/2009 - 23:18 por Angelo Vernaza | Informe spam
Hola,

Por favor me podrian ayudar con esta macro no se donde esta el error:

Sub VendorName()

Dim x As Range

Set x = ActiveCell.Offset(0, -1)

'Busco el Archivo VendorList.xls
Workbooks.OpenText Filename:= _
"C:\Users\ecasang\Documents\01-Ericsson\Varios
\VendorList.xls", Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:_
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True,
Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1,
1), _
TrailingMinusNumbers:=True

'Cambio de Ventana (Siempre debe haber solo dos archivos)
ActiveWindow.ActivateNext
ActiveCell.Formula = "=INDEX(VendorList.xls!$B$4:$G$1500,MATCH( &
x &,VendorList.xls!$F$4:$F$1500,0),4 )"
End Sub

me salta error en la última línea:
ActiveCell.Formula = "=INDEX(VendorList.xls!$B$4:$G$1500,MATCH( &
x &,VendorList.xls!$F$4:$F$1500,0),4 )"

ademas tambien debo agregarle para que el libro VendorList.xls no
quede abierto.

espero me puedan ayudar.

Saludos,
Angelo V.-

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
25/03/2009 - 04:49 | Informe spam
hola, Angelo !

... ayudar con esta macro no se donde esta el error:
me salta error en la ultima linea:
ActiveCell.Formula = "=INDEX(VendorList.xls!$B$4:$G$1500,MATCH( & x &,VendorList.xls!$F$4:$F$1500,0),4 )"
ademas tambien debo agregarle para que el libro VendorList.xls no quede abierto...



1) la formula que tratas de depositar no se puede leer por la macro, donde dices:
"=INDEX(VendorList.xls!$B$4:$G$1500,MATCH( & x &,VendorList.xls!$F$4:$F$1500,0),4 )"
deberias decir:
"=INDEX(VendorList.xls!$B$4:$G$1500,MATCH(" & x & ",VendorList.xls!$F$4:$F$1500,0),4)"

2) en el intento de formula usas la referencia: -> VendorList.xls
pero... cual es el nombre de la hoja ???

3) si el libro es un ".xls"... por que lo abres con un OpenText -???-

(probablemente) no seria necesario abrir el libro, pero...
si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ el codigo expuesto __
Sub VendorName()
Dim x As Range
Set x = ActiveCell.Offset(0, -1)
'Busco el Archivo VendorList.xls
Workbooks.OpenText Filename:= _
"C:\Users\ecasang\Documents\01-Ericsson\Varios\VendorList.xls", Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
'Cambio de Ventana (Siempre debe haber solo dos archivos)
ActiveWindow.ActivateNext
ActiveCell.Formula = "=INDEX(VendorList.xls!$B$4:$G$1500,MATCH( & x &,VendorList.xls!$F$4:$F$1500,0),4 )"
End Sub
Respuesta Responder a este mensaje
#2 Angelo Vernaza
25/03/2009 - 20:00 | Informe spam
Hola Hector,
Gracias por tu pronta respuesta te comento lo siguiente:

1. El libro tiene la extensión pero cuando lo bajo del programa no
queda en su totatlidad como un archivo de excel.

2. En la formula: "=INDEX(VendorList.xls!$B$4:$G$1500,MATCH(" & x &
",VendorList.xls!$F$4:$F$1500,0),4)"
exactamente en esta parte " & x & " lo que quiero es que me
devuelva el rango, no el valor que se encuentra dentro de la celda
activa.

Espero que me puedas ayudar y que me haya echo entender.

Saludos,
Angelo V.-

On 24 mar, 22:49, "Héctor Miguel"
wrote:
hola, Angelo !

> ... ayudar con esta macro no se donde esta el error:
> me salta error en la ultima linea:
>    ActiveCell.Formula = "=INDEX(VendorList.xls!$B$4:$G$1500,MATCH( & x &,VendorList.xls!$F$4:$F$1500,0),4 )"
> ademas tambien debo agregarle para que el libro VendorList.xls no quede abierto...

1) la formula que tratas de depositar no se puede leer por la macro, donde dices:
    "=INDEX(VendorList.xls!$B$4:$G$1500,MATCH( & x &,VendorList.xls!$F$4:$F$1500,0),4 )"
    deberias decir:
    "=INDEX(VendorList.xls!$B$4:$G$1500,MATCH(" & x & ",VendorList.xls!$F$4:$F$1500,0),4)"

2) en el intento de formula usas la referencia: -> VendorList.xls
    pero... cual es el nombre de la hoja ???

3) si el libro es un ".xls"... por que lo abres con un OpenText    -???-

(probablemente) no seria necesario abrir el libro, pero...
si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ el codigo expuesto __
Sub VendorName()
Dim x As Range
Set x = ActiveCell.Offset(0, -1)
'Busco el Archivo VendorList.xls
    Workbooks.OpenText Filename:= _
        "C:\Users\ecasang\Documents\01-Ericsson\Varios\VendorList.xls", Origin:= _
        xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
        TrailingMinusNumbers:=True
 'Cambio de Ventana (Siempre debe haber solo dos archivos)
    ActiveWindow.ActivateNext
    ActiveCell.Formula = "=INDEX(VendorList.xls!$B$4:$G$1500,MATCH( & x &,VendorList.xls!$F$4:$F$1500,0),4 )"
End Sub
Respuesta Responder a este mensaje
#3 Héctor Miguel
26/03/2009 - 02:08 | Informe spam
hola, Angelo !

1. El libro tiene la extension pero cuando lo bajo del programa no queda en su totatlidad como un archivo de excel.

2. En la formula: "=INDEX(VendorList.xls!$B$4:$G$1500,MATCH(" & x & ",VendorList.xls!$F$4:$F$1500,0),4)"
exactamente en esta parte " & x & " lo que quiero es que me devuelva el rango
no el valor que se encuentra dentro de la celda activa.



me queda la duda de si se trata de un archivo de excel, o es un archivo de texto al que solo le cambiarno la EXTension -?-

prueba modificando esa linea +/- a lo siguiente:
"=INDEX(VendorList.xls!$B$4:$G$1500,MATCH(" & x.Address & ",VendorList.xls!$F$4:$F$1500,0),4)"

saludos,
hector.
Respuesta Responder a este mensaje
#4 Angelo Vernaza
26/03/2009 - 15:46 | Informe spam
Hola Hector Miguel,

Muchas Gracias por tu ayuda,

Si es un archivo de Texto, pero el sistema cuando lo baja le cambia la
extensión.

Saludos,
Angelo V.-

On 25 mar, 20:08, "Héctor Miguel"
wrote:
hola, Angelo !

> 1. El libro tiene la extension pero cuando lo bajo del programa no queda en su totatlidad como un archivo de excel.

> 2. En la formula: "=INDEX(VendorList.xls!$B$4:$G$1500,MATCH(" & x & ",VendorList.xls!$F$4:$F$1500,0),4)"
> exactamente en esta parte " & x & " lo que quiero es que me devuelva el rango
> no el valor que se encuentra dentro de la celda activa.

me queda la duda de si se trata de un archivo de excel, o es un archivo de texto al que solo le cambiarno la EXTension    -?-

prueba modificando esa linea +/- a lo siguiente:
  "=INDEX(VendorList.xls!$B$4:$G$1500,MATCH(" & x.Address & ",VendorList.xls!$F$4:$F$1500,0),4)"

saludos,
hector.
Respuesta Responder a este mensaje
#5 Angelo Vernaza
26/03/2009 - 15:50 | Informe spam
Hola Hector,

Lo unico que falto fue que el libro VendorList.xls quede cerrado
despues de hacer la formula.

Saludos,
Angelo V.-

On 25 mar, 20:08, "Héctor Miguel"
wrote:
hola, Angelo !

> 1. El libro tiene la extension pero cuando lo bajo del programa no queda en su totatlidad como un archivo de excel.

> 2. En la formula: "=INDEX(VendorList.xls!$B$4:$G$1500,MATCH(" & x & ",VendorList.xls!$F$4:$F$1500,0),4)"
> exactamente en esta parte " & x & " lo que quiero es que me devuelva el rango
> no el valor que se encuentra dentro de la celda activa.

me queda la duda de si se trata de un archivo de excel, o es un archivo de texto al que solo le cambiarno la EXTension    -?-

prueba modificando esa linea +/- a lo siguiente:
  "=INDEX(VendorList.xls!$B$4:$G$1500,MATCH(" & x.Address & ",VendorList.xls!$F$4:$F$1500,0),4)"

saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida