Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/07/2010, 15:49
RoberT89
 
Fecha de Ingreso: julio-2010
Mensajes: 8
Antigüedad: 13 años, 10 meses
Puntos: 0
Problema con macro de Excel

Hola compañeros, hoy me surgio un gran problema ya que despues de tratar por mucho tiempo mi codigo no funciona. Lo que quiero es pasar informacion a partir de id's entre dos libros de excel. Mi idea es recorrer todos los id's con un do while. El proceso es sencillo, busca el primer id y copia su numero, de ahi copia los datos necesario para despues abrir el otro libro buscar el id que tiene guardado y pegar los datos. Por alguna razon me da error 91 cuando busca el id. Por favor ayudenme que es para mi servicio social y ya no se que hacer. Les pego mi codigo simplificado para que me ayuden.



totallibro = Application.ThisWorkbook.Name

casalibro = Application.GetOpenFilename
Workbooks.Open casalibro
casalibro = Application.ActiveWorkbook.Name

'Nos situamos en la celda con el primer dato
Sheets("CLASES 1").Select
Range("A7").Select

'Hasta que no encuentre una fila vacía...
Do While Not IsEmpty(ActiveCell)

If ActiveCell.Offset(1, 0).Value = "" Then
'puse este exit do para que cuando llegue al espacio en blanco termine
Exit Do
End If

'---------------------------------------------------------------------------------------

'primera hoja

Dim id As String, valor As String, total As String

id = ActiveCell.Text

[A:A].Find(What:=id, LookIn:=xlValues, LookAt:= _
xlPart).Activate

'---------------------------------------------------------------------------------------
Dim clasefor As String, horafor As String

'copia los datos
total = "CLASES - FORMACIÓN HUMANA"
x = hojacasa(total)
clasefor = ActiveCell.Text



'---------------------------------------------------------------------------------------

'segunda hoja

'buscamos el id que queremos
Workbooks(totallibro).Activate
Sheets("CAPACITACION").Select
[A:A].Find(What:=id, LookIn:=xlValues, LookAt:= _
xlPart).Activate

'su fila
Dim fila As String, dato As String
dato = ActiveCell.Address
fila = Mid(dato, InStr(dato, "$") + 3)

'copia los datos
mesclasereli = mesclasereli & fila
Range(mesclasereli).FormulaR1C1 = Val(clasereli) + Val(Range(mesclasereli).Text)
meshorareli = meshorareli & fila
Range(meshorareli).FormulaR1C1 = Val(horareli) + Val(Range(meshorareli).Text)


'---------------------------------------------------------------------------------------


Workbooks(casalibro).Activate
Sheets("CLASES 1").Select
[A:A].Find(What:=id, LookIn:=xlValues, LookAt:= _
xlPart).Activate

x = meses()
'movernos un espacio
ActiveCell.Offset(1, 0).Select
Loop

Workbooks(casalibro).Close
Workbooks(totallibro).Activate

Exit Sub

Espero me puedan ayudar.