Macros para mi libro de Microsoft Excel
Hola,
Soy nuevo en el portal pero he leído muchas de las consultas que hacen y me han ayudado mucho. Estoy en un autolearning en el mundo del excel por mi nuevo puesto y estoy tratando de realizar una macro que me valide datos de un libro contra otro.
Me explico tengo una base de datos origen en donde cada semana me toca alimentarla pero solo en ciertas casillas y lo que necesito es lo siguiente. Hasta el momento la macro me abre el archivo que le indico verifica I2 contra I2, luego pasa H2 contra H2, luego J2 contra J2 y sino existe en ninguno me marca la fila en rojo, pero estoy pegado en que luego de esto necesito que baje a la I3 y realize el mismo proceso y así sucesivamente, hasta que no encuentre más registros. +/- Esta es la macro que tengo.
Les agradecería si me dan una luz en como hacer un bucle que me realice esta acción.
De antemano Mil Gracias
Sub Traerbuena()
Workbooks.Open ("C:\Documents and Settings\grestrg\Escritorio\REFERIDOS\NOVIEMBRE\CONSOLIDADOS\TERCER SEMANA\RESPUESTAS\Linea.xls")
Application.ScreenUpdating = False
Sheets("hoja1").Select
Range("I2").Select
cuenta = ActiveCell
salto:
cuenta = cuenta + 1
If ActiveCell.Value <> "" = 0 Then
ActiveCell.Offset(0, -1).Select
Else: GoTo salto2
End If
If ActiveCell.Value <> "" = 0 Then
ActiveCell.Offset(0, 2).Select
Else: GoTo salto2
End If
If ActiveCell.Value <> "" = 0 Then
ActiveCell.Offset(0, -1).Select
Else: GoTo salto2
End If
ActiveCell.EntireRow.Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
GoTo salto
End With
salto2:
Posicion = 1
While ActiveCell.Value <> ""
direccion = ActiveCell.Value
Workbooks("BD PRUEBA REF.xls").Activate
Sheets("BASE DE DATOS").Select
Range("I2").Select
While ActiveCell.Value <> ""
If ActiveCell.Value = direccion Then
Workbooks("LINEA.xls").Activate
Sheets("hoja1").Select
comentario = ActiveCell.Offset(0, 8).Value
Workbooks("BD PRUEBA REF.xls").Activate
Sheets("BASE DE DATOS").Select
ActiveCell.Offset(0, 8) = comentario
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Wend
Workbooks("LINEA.xls").Activate
Sheets("hoja1").Select
Posicion = Posicion + 1
Range("I2").Select
ActiveCell.Offset(Posicion - 1, 0).Range("A1").Select
Wend
End Sub
Soy nuevo en el portal pero he leído muchas de las consultas que hacen y me han ayudado mucho. Estoy en un autolearning en el mundo del excel por mi nuevo puesto y estoy tratando de realizar una macro que me valide datos de un libro contra otro.
Me explico tengo una base de datos origen en donde cada semana me toca alimentarla pero solo en ciertas casillas y lo que necesito es lo siguiente. Hasta el momento la macro me abre el archivo que le indico verifica I2 contra I2, luego pasa H2 contra H2, luego J2 contra J2 y sino existe en ninguno me marca la fila en rojo, pero estoy pegado en que luego de esto necesito que baje a la I3 y realize el mismo proceso y así sucesivamente, hasta que no encuentre más registros. +/- Esta es la macro que tengo.
Les agradecería si me dan una luz en como hacer un bucle que me realice esta acción.
De antemano Mil Gracias
Sub Traerbuena()
Workbooks.Open ("C:\Documents and Settings\grestrg\Escritorio\REFERIDOS\NOVIEMBRE\CONSOLIDADOS\TERCER SEMANA\RESPUESTAS\Linea.xls")
Application.ScreenUpdating = False
Sheets("hoja1").Select
Range("I2").Select
cuenta = ActiveCell
salto:
cuenta = cuenta + 1
If ActiveCell.Value <> "" = 0 Then
ActiveCell.Offset(0, -1).Select
Else: GoTo salto2
End If
If ActiveCell.Value <> "" = 0 Then
ActiveCell.Offset(0, 2).Select
Else: GoTo salto2
End If
If ActiveCell.Value <> "" = 0 Then
ActiveCell.Offset(0, -1).Select
Else: GoTo salto2
End If
ActiveCell.EntireRow.Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
GoTo salto
End With
salto2:
Posicion = 1
While ActiveCell.Value <> ""
direccion = ActiveCell.Value
Workbooks("BD PRUEBA REF.xls").Activate
Sheets("BASE DE DATOS").Select
Range("I2").Select
While ActiveCell.Value <> ""
If ActiveCell.Value = direccion Then
Workbooks("LINEA.xls").Activate
Sheets("hoja1").Select
comentario = ActiveCell.Offset(0, 8).Value
Workbooks("BD PRUEBA REF.xls").Activate
Sheets("BASE DE DATOS").Select
ActiveCell.Offset(0, 8) = comentario
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Wend
Workbooks("LINEA.xls").Activate
Sheets("hoja1").Select
Posicion = Posicion + 1
Range("I2").Select
ActiveCell.Offset(Posicion - 1, 0).Range("A1").Select
Wend
End Sub
{"lat":2.46018118102101,"lng":-73.828125}
1 Respuesta
Respuesta de Elsa Matilde
1