Modificar Macro para excel. ¿Cómo modificar la celda de origen y la celda de destino de datos?
Tengo la siguiente macro, para copiar datos de la hoja BÚSQUEDA a la hoja PRESUPUESTO con las siguientes condiciones:
1. Debo extraer de "Búsqueda", las líneas que en la columna "I" tenga el valor "SI"
2. Copiar estos datos en "Presupuesto" siguiendo la siguiente orrespondencia de columnas: A en A, B en B, C en C, H en D. Las otras, se descartan.
3. En la hoja "Presupuesto", la fila del "total" debería adaptarse a la cantidad de filas copiadas
La macro original, copia datos a partir de la celda A9 y pega desde A9. Al intentar modificala para que tanto la celda de origen y la celda destino sea A12, me devuelve errores como este #¡VALOR! En la columna D o TOTAL
Sub COPIAR()
Set H1 = Worksheets("BÚSQUEDA")
Set H2 = Worksheets("PRESUPUESTO")
Set DATOS = H1.Range("A9").CurrentRegion
With DATOS
FILAS = .Rows.Count: COLUMNAS = .Columns.Count
.Sort KEY1:=H1.Range(.Columns(COLUMNAS).Address), ORDER1:=xlDescending, Header:=XLTRUE
CUENTA = WorksheetFunction.CountIf(.Columns(COLUMNAS), "SI") + 1
End With
H2.Range("A9").CurrentRegion.Clear
Set DESTINO = H2.Range("A9").Resize(CUENTA, COLUMNAS)
With DESTINO
.Columns(1).Resize(CUENTA, 3).Value = _
DATOS.Columns(1).Resize(CUENTA, 3).Value
.Columns(4).Resize(CUENTA, 1).Value = _
DATOS.Columns(7).Resize(CUENTA, 1).Value
.Cells(2, 5).Resize(CUENTA - 1, 1).Formula = "=B10*D10"
.Cells(CUENTA + 2, 5).Formula = "=SUM(" & .Columns(5).Address & ")"
.Cells(CUENTA + 2, 5).Font.Bold = True
.Cells(CUENTA + 2, 4) = "TOTAL"
.Cells(CUENTA + 2, 4).Font.Bold = True
.Cells(1, 5) = "TOTAL"
.Rows(1).Font.Bold = True
End With
End Sub
Dejo dos imágenes: Una de la hoja "BÚSQUEDA" la otra de cómo debería quedar la hoja "PRESUPUESTO"