active - Multiplique el rango usando excel VBA
select vba excel (3)
Escribe una fórmula rápida y resuelve los resultados de la fórmula.
PullData.Range("G2:G" & lrA - 6).Formula = "=F2*E2"
PullData.Range("G2:G" & lrA - 6) = PullData.Range("G2:G" & lrA - 6).Value
Si no desea escribir la fórmula, cree una matriz y repásela almacenando los resultados de las operaciones de multiplicación de filas individuales.
Estoy usando el código siguiente para extraer datos de la hoja RawImport a PullData.
Dim lrA As Integer
lrA = RawImport.Range("B" & Rows.Count).End(xlUp).Row
PullData.Range("A2:A" & lrA - 6).Value = RawImport.Range("G8:G" & lrA).Value
PullData.Range("A2:A" & lrA).NumberFormat = "d mmm yyyy h:mm;@"
PullData.Range("A:A").Columns.AutoFit
PullData.Range("B2:B" & lrA - 6).Value = RawImport.Range("E8:E" & lrA).Value
PullData.Range("C2:C" & lrA - 6).Value = RawImport.Range("C8:C" & lrA).Value
PullData.Range("D2:D" & lrA - 6).Value = RawImport.Range("D8:E" & lrA).Value
PullData.Range("E2:E" & lrA - 6).Value = RawImport.Range("B8:B" & lrA).Value
PullData.Range("F2:F" & lrA - 6).Value = RawImport.Range("F8:F" & lrA).Value
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Ahora me gustaría multiplicar las columnas E y F (desde la fila 2 en adelante) y agregar el resultado a la columna G. Traté de agregar el código a continuación junto con el anterior
PullData.Range("G2:G" & lrA - 6).Value = PullData.Range("F2:F" & lrA - 6).Value * PullData.Range("E2:E" & lrA - 6).Value
Pero recibo un error de No Type Mismatch
al ejecutar el código. ¿Cuál será la mejor manera de multiplicar los valores y asignar a la columna G?
Por favor usa este código:
For i = 2 To lrA - 6
PullData.Range("G" & i).Value = PullData.Range("F" & i).Value * PullData.Range("E" & i).Value
Next i
Espero que esto ayude.
También puedes usar Autocompletar
PullData.Range("G2") = "=F2*E2"
PullData.Range("G2").Autofill Destination:=PullData.Range("G2:G" & lrA-6)