Está en la página 1de 13

'APRENDE Y ENSEÑA EXCEL

'Como realizar combinación de correspondencia entre dos hojas de Excel


'Link: https://youtu.be/X4QnKBOWwsg
'YOUTUBE: https://www.youtube.com/channel/UChonIc52GnJLRxshFjUxrGA?view_as=subscriber
'fACEBOOK:https://www.facebook.com/cursoexcelfacil/
'INSTAGRAM: https://www.instagram.com/aprendeyensenaexcel/?hl=es
'TWITTER: https://twitter.com/Aprenda_Excel?lang=es

NumCriterios = InputBox("Escribe el número de criterios") 'Caja de texto para escribir el numero de criterios

''''''''''''''''''PARA 1 CRITERIOS '''''''''''''''''''''''''''''''''''''''''''''''''''''''


If NumCriterios = 1 Then

Sheets("Correspondencia").Select 'Selecionamos y copiamos al primera hoja de correspondencia


Sheets("Correspondencia").Copy Before:=Sheets(2)

CantDatos = Sheets("BD").Cells(Rows.Count, "A").End(xlUp).Row 'contar el numero de datos

Variable1 = Sheets("BD").Range("A1")

Dato1 = Sheets("BD").Range("A2")

Cells.Replace What:="<" & Variable1 & ">", Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False 'Reemplazamos las variables por los datos de la base de datos

ContFilaAnt = 2
NumPagina = 3

For datos = 2 To CantDatos 'Ciclo para realizar las combinaciones

NombreHoja = ActiveSheet.Name
Sheets(NombreHoja).Copy Before:=Sheets(NumPagina) 'Copia hoja y enumera el consecutivo

Variable1 = Sheets("BD").Range("A" & ContFilaAnt)

Dato1 = Sheets("BD").Range("A" & NumPagina)

Cells.Replace What:=Variable1, Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False 'Busca y reemplaza los valores de la base de datos

ContFilaAnt = ContFilaAnt + 1 'incremento de contadores


NumPagina = NumPagina + 1

Next

Else

''''''''''''''''''PARA 2 CRITERIOS '''''''''''''''''''''''''''''''''''''''''''''''''''''''


If NumCriterios = 2 Then

Sheets("Correspondencia").Select
Sheets("Correspondencia").Copy Before:=Sheets(2)

CantDatos = Sheets("BD").Cells(Rows.Count, "A").End(xlUp).Row 'contar el numero de datos

Variable1 = Sheets("BD").Range("A1")
Variable2 = Sheets("BD").Range("B1")

Dato1 = Sheets("BD").Range("A2")
Dato2 = Sheets("BD").Range("B2")

Cells.Replace What:="<" & Variable1 & ">", Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable2 & ">", Replacement:=Dato2, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ContFilaAnt = 2
NumPagina = 3

For datos = 2 To CantDatos

NombreHoja = ActiveSheet.Name
Sheets(NombreHoja).Copy Before:=Sheets(NumPagina)

Variable1 = Sheets("BD").Range("A" & ContFilaAnt)


Variable2 = Sheets("BD").Range("B" & ContFilaAnt)

Dato1 = Sheets("BD").Range("A" & NumPagina)


Dato2 = Sheets("BD").Range("B" & NumPagina)

Cells.Replace What:=Variable1, Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable2, Replacement:=Dato2, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ContFilaAnt = ContFilaAnt + 1
NumPagina = NumPagina + 1
Next
Else

''''''''''''''''''PARA 3 CRITERIOS '''''''''''''''''''''''''''''''''''''''''''''''''''''''

If NumCriterios = 3 Then

Sheets("Correspondencia").Select
Sheets("Correspondencia").Copy Before:=Sheets(2)

CantDatos = Sheets("BD").Cells(Rows.Count, "A").End(xlUp).Row 'contar el numero de datos

Variable1 = Sheets("BD").Range("A1")
Variable2 = Sheets("BD").Range("B1")
Variable3 = Sheets("BD").Range("C1")

Dato1 = Sheets("BD").Range("A2")
Dato2 = Sheets("BD").Range("B2")
Dato3 = Sheets("BD").Range("C2")

Cells.Replace What:="<" & Variable1 & ">", Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable2 & ">", Replacement:=Dato2, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Replace What:="<" & Variable3 & ">", Replacement:=Dato3, LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ContFilaAnt = 2
NumPagina = 3

For datos = 2 To CantDatos

NombreHoja = ActiveSheet.Name
Sheets(NombreHoja).Copy Before:=Sheets(NumPagina)

Variable1 = Sheets("BD").Range("A" & ContFilaAnt)


Variable2 = Sheets("BD").Range("B" & ContFilaAnt)
Variable3 = Sheets("BD").Range("C" & ContFilaAnt)

Dato1 = Sheets("BD").Range("A" & NumPagina)


Dato2 = Sheets("BD").Range("B" & NumPagina)
Dato3 = Sheets("BD").Range("C" & NumPagina)

Cells.Replace What:=Variable1, Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Replace What:=Variable2, Replacement:=Dato2, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Replace What:=Variable3, Replacement:=Dato3, LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ContFilaAnt = ContFilaAnt + 1
NumPagina = NumPagina + 1

Next

Else

''''''''''''''''''PARA 4 CRITERIOS '''''''''''''''''''''''''''''''''''''''''''''''''''''''


If NumCriterios = 4 Then

Sheets("Correspondencia").Select
Sheets("Correspondencia").Copy Before:=Sheets(2)

CantDatos = Sheets("BD").Cells(Rows.Count, "A").End(xlUp).Row 'contar el numero de datos

Variable1 = Sheets("BD").Range("A1")
Variable2 = Sheets("BD").Range("B1")
Variable3 = Sheets("BD").Range("C1")
Variable4 = Sheets("BD").Range("D1")

Dato1 = Sheets("BD").Range("A2")
Dato2 = Sheets("BD").Range("B2")
Dato3 = Sheets("BD").Range("C2")
Dato4 = Sheets("BD").Range("D2")

Cells.Replace What:="<" & Variable1 & ">", Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable2 & ">", Replacement:=Dato2, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable3 & ">", Replacement:=Dato3, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable4 & ">", Replacement:=Dato4, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ContFilaAnt = 2
NumPagina = 3
For datos = 2 To CantDatos

NombreHoja = ActiveSheet.Name
Sheets(NombreHoja).Copy Before:=Sheets(NumPagina)

Variable1 = Sheets("BD").Range("A" & ContFilaAnt)


Variable2 = Sheets("BD").Range("B" & ContFilaAnt)
Variable3 = Sheets("BD").Range("C" & ContFilaAnt)
Variable4 = Sheets("BD").Range("D" & ContFilaAnt)

Dato1 = Sheets("BD").Range("A" & NumPagina)


Dato2 = Sheets("BD").Range("B" & NumPagina)
Dato3 = Sheets("BD").Range("C" & NumPagina)
Dato4 = Sheets("BD").Range("D" & NumPagina)

Cells.Replace What:=Variable1, Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable2, Replacement:=Dato2, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable3, Replacement:=Dato3, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable4, Replacement:=Dato4, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ContFilaAnt = ContFilaAnt + 1
NumPagina = NumPagina + 1

Next
Else

''''''''''''''''''PARA 5 CRITERIOS '''''''''''''''''''''''''''''''''''''''''''''''''''''''


If NumCriterios = 5 Then

Sheets("Correspondencia").Select
Sheets("Correspondencia").Copy Before:=Sheets(2)

CantDatos = Sheets("BD").Cells(Rows.Count, "A").End(xlUp).Row 'contar el numero de datos

Variable1 = Sheets("BD").Range("A1")
Variable2 = Sheets("BD").Range("B1")
Variable3 = Sheets("BD").Range("C1")
Variable4 = Sheets("BD").Range("D1")
Variable5 = Sheets("BD").Range("E1")

Dato1 = Sheets("BD").Range("A2")
Dato2 = Sheets("BD").Range("B2")
Dato3 = Sheets("BD").Range("C2")
Dato4 = Sheets("BD").Range("D2")
Dato5 = Sheets("BD").Range("E2")

Cells.Replace What:="<" & Variable1 & ">", Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable2 & ">", Replacement:=Dato2, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable3 & ">", Replacement:=Dato3, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable4 & ">", Replacement:=Dato4, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable5 & ">", Replacement:=Dato5, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ContFilaAnt = 2
NumPagina = 3

For datos = 2 To CantDatos

NombreHoja = ActiveSheet.Name
Sheets(NombreHoja).Copy Before:=Sheets(NumPagina)

Variable1 = Sheets("BD").Range("A" & ContFilaAnt)


Variable2 = Sheets("BD").Range("B" & ContFilaAnt)
Variable3 = Sheets("BD").Range("C" & ContFilaAnt)
Variable4 = Sheets("BD").Range("D" & ContFilaAnt)
Variable5 = Sheets("BD").Range("E" & ContFilaAnt)

Dato1 = Sheets("BD").Range("A" & NumPagina)


Dato2 = Sheets("BD").Range("B" & NumPagina)
Dato3 = Sheets("BD").Range("C" & NumPagina)
Dato4 = Sheets("BD").Range("D" & NumPagina)
Dato5 = Sheets("BD").Range("E" & NumPagina)

Cells.Replace What:=Variable1, Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable2, Replacement:=Dato2, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable3, Replacement:=Dato3, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable4, Replacement:=Dato4, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable5, Replacement:=Dato5, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ContFilaAnt = ContFilaAnt + 1
NumPagina = NumPagina + 1

Next
Else
''''''''''''''''''PARA 6 CRITERIOS '''''''''''''''''''''''''''''''''''''''''''''''''''''''
If NumCriterios = 6 Then

Sheets("Correspondencia").Select
Sheets("Correspondencia").Copy Before:=Sheets(2)

CantDatos = Sheets("BD").Cells(Rows.Count, "A").End(xlUp).Row 'contar el numero de datos

Variable1 = Sheets("BD").Range("A1")
Variable2 = Sheets("BD").Range("B1")
Variable3 = Sheets("BD").Range("C1")
Variable4 = Sheets("BD").Range("D1")
Variable5 = Sheets("BD").Range("E1")
Variable6 = Sheets("BD").Range("F1")

Dato1 = Sheets("BD").Range("A2")
Dato2 = Sheets("BD").Range("B2")
Dato3 = Sheets("BD").Range("C2")
Dato4 = Sheets("BD").Range("D2")
Dato5 = Sheets("BD").Range("E2")
Dato6 = Sheets("BD").Range("F2")

Cells.Replace What:="<" & Variable1 & ">", Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable2 & ">", Replacement:=Dato2, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable3 & ">", Replacement:=Dato3, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable4 & ">", Replacement:=Dato4, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Replace What:="<" & Variable5 & ">", Replacement:=Dato5, LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable6 & ">", Replacement:=Dato6, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ContFilaAnt = 2
NumPagina = 3

For datos = 2 To CantDatos

NombreHoja = ActiveSheet.Name
Sheets(NombreHoja).Copy Before:=Sheets(NumPagina)

Variable1 = Sheets("BD").Range("A" & ContFilaAnt)


Variable2 = Sheets("BD").Range("B" & ContFilaAnt)
Variable3 = Sheets("BD").Range("C" & ContFilaAnt)
Variable4 = Sheets("BD").Range("D" & ContFilaAnt)
Variable5 = Sheets("BD").Range("E" & ContFilaAnt)
Variable6 = Sheets("BD").Range("F" & ContFilaAnt)

Dato1 = Sheets("BD").Range("A" & NumPagina)


Dato2 = Sheets("BD").Range("B" & NumPagina)
Dato3 = Sheets("BD").Range("C" & NumPagina)
Dato4 = Sheets("BD").Range("D" & NumPagina)
Dato5 = Sheets("BD").Range("E" & NumPagina)
Dato6 = Sheets("BD").Range("F" & NumPagina)

Cells.Replace What:=Variable1, Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable2, Replacement:=Dato2, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable3, Replacement:=Dato3, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable4, Replacement:=Dato4, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable5, Replacement:=Dato5, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable6, Replacement:=Dato6, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ContFilaAnt = ContFilaAnt + 1
NumPagina = NumPagina + 1

Next
Else
''''''''''''''''''PARA 7 CRITERIOS '''''''''''''''''''''''''''''''''''''''''''''''''''''''
If NumCriterios = 7 Then

Sheets("Correspondencia").Select
Sheets("Correspondencia").Copy Before:=Sheets(2)

CantDatos = Sheets("BD").Cells(Rows.Count, "A").End(xlUp).Row 'contar el numero de datos

Variable1 = Sheets("BD").Range("A1")
Variable2 = Sheets("BD").Range("B1")
Variable3 = Sheets("BD").Range("C1")
Variable4 = Sheets("BD").Range("D1")
Variable5 = Sheets("BD").Range("E1")
Variable6 = Sheets("BD").Range("F1")
Variable7 = Sheets("BD").Range("G1")

Dato1 = Sheets("BD").Range("A2")
Dato2 = Sheets("BD").Range("B2")
Dato3 = Sheets("BD").Range("C2")
Dato4 = Sheets("BD").Range("D2")
Dato5 = Sheets("BD").Range("E2")
Dato6 = Sheets("BD").Range("F2")
Dato7 = Sheets("BD").Range("G2")

Cells.Replace What:="<" & Variable1 & ">", Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable2 & ">", Replacement:=Dato2, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable3 & ">", Replacement:=Dato3, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable4 & ">", Replacement:=Dato4, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable5 & ">", Replacement:=Dato5, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable6 & ">", Replacement:=Dato6, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable7 & ">", Replacement:=Dato7, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ContFilaAnt = 2
NumPagina = 3

For datos = 2 To CantDatos

NombreHoja = ActiveSheet.Name
Sheets(NombreHoja).Copy Before:=Sheets(NumPagina)

Variable1 = Sheets("BD").Range("A" & ContFilaAnt)


Variable2 = Sheets("BD").Range("B" & ContFilaAnt)
Variable3 = Sheets("BD").Range("C" & ContFilaAnt)
Variable4 = Sheets("BD").Range("D" & ContFilaAnt)
Variable5 = Sheets("BD").Range("E" & ContFilaAnt)
Variable6 = Sheets("BD").Range("F" & ContFilaAnt)
Variable7 = Sheets("BD").Range("G" & ContFilaAnt)

Dato1 = Sheets("BD").Range("A" & NumPagina)


Dato2 = Sheets("BD").Range("B" & NumPagina)
Dato3 = Sheets("BD").Range("C" & NumPagina)
Dato4 = Sheets("BD").Range("D" & NumPagina)
Dato5 = Sheets("BD").Range("E" & NumPagina)
Dato6 = Sheets("BD").Range("F" & NumPagina)
Dato7 = Sheets("BD").Range("G" & NumPagina)

Cells.Replace What:=Variable1, Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable2, Replacement:=Dato2, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable3, Replacement:=Dato3, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable4, Replacement:=Dato4, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable5, Replacement:=Dato5, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable6, Replacement:=Dato6, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Replace What:=Variable7, Replacement:=Dato7, LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ContFilaAnt = ContFilaAnt + 1
NumPagina = NumPagina + 1

Next

''''''''''''''''''PARA 8 CRITERIOS '''''''''''''''''''''''''''''''''''''''''''''''''''''''


If NumCriterios = 8 Then

Sheets("Correspondencia").Select
Sheets("Correspondencia").Copy Before:=Sheets(2)

CantDatos = Sheets("BD").Cells(Rows.Count, "A").End(xlUp).Row 'contar el numero de datos

Variable1 = Sheets("BD").Range("A1")
Variable2 = Sheets("BD").Range("B1")
Variable3 = Sheets("BD").Range("C1")
Variable4 = Sheets("BD").Range("D1")
Variable5 = Sheets("BD").Range("E1")
Variable6 = Sheets("BD").Range("F1")
Variable7 = Sheets("BD").Range("G1")
Variable8 = Sheets("BD").Range("H1")

Dato1 = Sheets("BD").Range("A2")
Dato2 = Sheets("BD").Range("B2")
Dato3 = Sheets("BD").Range("C2")
Dato4 = Sheets("BD").Range("D2")
Dato5 = Sheets("BD").Range("E2")
Dato6 = Sheets("BD").Range("F2")
Dato7 = Sheets("BD").Range("G2")
Dato8 = Sheets("BD").Range("H2")

Cells.Replace What:="<" & Variable1 & ">", Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable2 & ">", Replacement:=Dato2, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable3 & ">", Replacement:=Dato3, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable4 & ">", Replacement:=Dato4, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable5 & ">", Replacement:=Dato5, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable6 & ">", Replacement:=Dato6, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable7 & ">", Replacement:=Dato7, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:="<" & Variable8 & ">", Replacement:=Dato8, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ContFilaAnt = 2
NumPagina = 3

For datos = 2 To CantDatos

NombreHoja = ActiveSheet.Name
Sheets(NombreHoja).Copy Before:=Sheets(NumPagina)

Variable1 = Sheets("BD").Range("A" & ContFilaAnt)


Variable2 = Sheets("BD").Range("B" & ContFilaAnt)
Variable3 = Sheets("BD").Range("C" & ContFilaAnt)
Variable4 = Sheets("BD").Range("D" & ContFilaAnt)
Variable5 = Sheets("BD").Range("E" & ContFilaAnt)
Variable6 = Sheets("BD").Range("F" & ContFilaAnt)
Variable7 = Sheets("BD").Range("G" & ContFilaAnt)
Variable8 = Sheets("BD").Range("H" & ContFilaAnt)

Dato1 = Sheets("BD").Range("A" & NumPagina)


Dato2 = Sheets("BD").Range("B" & NumPagina)
Dato3 = Sheets("BD").Range("C" & NumPagina)
Dato4 = Sheets("BD").Range("D" & NumPagina)
Dato5 = Sheets("BD").Range("E" & NumPagina)
Dato6 = Sheets("BD").Range("F" & NumPagina)
Dato7 = Sheets("BD").Range("G" & NumPagina)
Dato8 = Sheets("BD").Range("H" & NumPagina)

Cells.Replace What:=Variable1, Replacement:=Dato1, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable2, Replacement:=Dato2, LookAt:=xlPart, _


SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable3, Replacement:=Dato3, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Replace What:=Variable4, Replacement:=Dato4, LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable5, Replacement:=Dato5, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable6, Replacement:=Dato6, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable7, Replacement:=Dato7, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Cells.Replace What:=Variable8, Replacement:=Dato8, LookAt:=xlPart _


, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ContFilaAnt = ContFilaAnt + 1
NumPagina = NumPagina + 1

Next

End If
End If
End If
End If
End If
End If
End If
End If

También podría gustarte