Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/03/2010, 12:25
Avatar de mauro770
mauro770
 
Fecha de Ingreso: mayo-2009
Mensajes: 109
Antigüedad: 15 años
Puntos: 1
problema con "Const ruta As String = Cells(i, 1).Value"

hola que tal , primero que nada muchas gracias por su tiempo, y despues me gustaria comentarles que no se nada de VB y estoy haciendo un pequeño codigo que obtiene valores de otros archivos de excel que estan cerrados,

la estructura del excel es la siguiente



2.xlsx contiene la informacion deseada en la celda "A2" asi mismo en 3.xlsx y 4.xlsx

mi codigo esta asi :

Sub macro()
i = 4
j = 0
esta linea dice que se ejecute el bucle hasta que encuentre una celda sin valor
Do While Cells(i, 1) <> ""
esta es la que me esta fallando.me parece que es por que no toma el valor de Cells(i, 1).Value como un string cuando se lo paso al siguiente trozo de codigo
Const ruta As String = Cells(i, 1).Value
aqui abrimos el archivo al que le sacaremos la informacion.
Workbooks.Open Filename:=ruta
aqui guardamos en una variable el valor de la celda que necesitamos del archivo que acabamos de abrir, ya que lo cerraremos
mivariable = Range("A2").Value
aqui cerramos el archivo y no guardamos los cambios
ActiveWindow.Close SaveChanges:=False
aqui grabamos en B4 los datos de ArchivoCerrado("A2") y "j" hace que la proxima vez que el bucle se repita escriba el valor en la celda de abajo.
Range("b4").Offset(j, 0).Select
ActiveCell.FormulaR1C1 = mivariable
aumentamos en 1 a "i" para que ya no busque la ruta de la celda A4 sino que busque en la celda A5
i = i + 1
j = j + 1
mivariable = "";
Loop
End Sub

cuando lo ejecuto me tira el siguiente error : " can´t execute code in break mode"
tengo la leve sospecha que el problema esta aqui Const ruta As String = Cells(i, 1).Value pero por mas que busque no encontre solucion

alguien sabe como puedo arreglarlo ?
espero haberme explicado. muchas gracias desde ya .
saludos

Última edición por mauro770; 31/03/2010 a las 13:35