Macro para evaluar y encontrar un valor de una celda de una columna para copiar otras celdas de la fila.
Tengo En excel dos hojas, Hoja1 y Hoja2, en Hoja1 con muchas columnas y muchas filas de información.
La siguiente macro copia las columnas completas A1, C1, D1, G1, I1, K1, P1 de la hoja1, y pega en las columnas A1, B1, C1, G1, F1, E1, L1, de la hoja2 respectivamente.
Lo que necesito es que no solo copie las columnas completas sino que también recorra y evalué la columna BA de la Hoja1 y cuando encuentre una celda que contenga la palabra "*Observaciones" copie la fila de las columnas A, C, D,, G, I, K, P de Hoja1 en el numero donde fue encontrada esa celda.
y Pegue en Hoja2 en la columnas A, B, C, G, F, E, L.
Nota: la palabra *Observaciones se encuentra dentro de una celda con mucho más texto
Sub copiar()
Dim c1%, c2%, c3%, c4%, c5%, c6%, c7%
c1 = Range("A1").Column
c2 = Range("C1").Column
c3 = Range("D1").Column
c4 = Range("G1").Column
c5 = Range("I1").Column
c6 = Range("K1").Column
c7 = Range("P1").Column
Dim r As Range, fu%, uf%, fr%, co%
Dim m(), fm%
Set r = Range("BA1").CurrentRegion
ReDim m(r.Rows.Count, 7)
fu = r.Row
uf = fu + r.Rows.Count
For fr = fu To uf
If Cells(fr, c1) <> " " Then
fm = fm + 1
m(fm, 1) = Cells(fr, c1)
m(fm, 2) = Cells(fr, c2)
m(fm, 3) = Cells(fr, c3)
m(fm, 4) = Cells(fr, c4)
m(fm, 5) = Cells(fr, c5)
m(fm, 6) = Cells(fr, c6)
'm(fm, 6) = CLng(CDate(Cells(fr, c6)))
m(fm, 7) = Cells(fr, c7)
End If
Next
If fm = 0 Then Exit Sub
Dim hs As Worksheet, filas, colus
Set hs = Sheets("Hoja2")
filas = hs.Range("BA1").Row
colus = hs.Range("BA1").Column
hs.Select
'b e j m p v y
c1 = Range("A1").Column
c2 = Range("B1").Column
c3 = Range("C1").Column
c4 = Range("G1").Column
c5 = Range("F1").Column
c6 = Range("E1").Column
c7 = Range("L1").Column
hs.Select
fm = 0
With hs
For fr = filas To r.Rows.Count + filas
fm = fm + 1
.Cells(fr, c1) = m(fm, 1)
.Cells(fr, c2) = m(fm, 2)
.Cells(fr, c3) = m(fm, 3)
.Cells(fr, c4) = m(fm, 4)
.Cells(fr, c5) = m(fm, 5)
.Cells(fr, c6) = m(fm, 6)
.Cells(fr, c7) = m(fm, 7)
Next
End With
End Sub
Ojala que me puedan ayudar!