El uso de “FOR EACH” en VBA nos permite controlar objetos dentro del conjunto de elementos por ejemplo una hoja de libro o una celda.
Se usa de la siguiente manera:
Sub xxx()
For each (objetos dentro del conjunto)
Se escribe el objetivo que quiere que se realice en ese conjunto
Next Se finaliza la función For Each
End sub()
Como por ejemplo, en la siguiente fórmula podemos obtener el promedio de de las ventas trimestrales de un año en un rango seleccionado.
Sub PROMEDIOVENTAS()
Dim ULT As Integer
For Each cell In Range("b3:b6").cells
sum = sum + cell.Value
cant = cant + 1
Next
prom = sum / cant
Range("E5").Select
ActiveCell.Value = prom
End Sub
En la formula, se evalúa el promedio del rango b3 hasta el b6 y coloca el valor en la celda E5
Descargar ejemplo de For Each en VBA: For Each en VBA
23/03/2018 a las 4:14 pm
hola tengo un excel los datos de una venta pero gustaria que si aparece el -1
buscarlo e eliminarlo eliminar la cantidad correspondiente de productos.
TE EXCELSIOR 100BO 1 1252 1252
F.CAROZZI 400 GRS. 2 504 1008
TE MILDRED 250 GRS 1 1790 1790
AZUCAR PATRONA 1KG 2 445 890
PECH.POLLO SUPER 0.615 1672 1029
TE MILDRED 250 GRS -1 1790 1790
25/10/2018 a las 9:44 pm
me parece sencillo pero muy bueno tu ejemplo, gracias por compartirlo
06/03/2019 a las 12:53 pm
Buenas, tengo una tabla de datos ingresados a través de un userform, necesito un código que me busque en la tabla la fila que cumpla con tres condiciones, en dado caso, me sume en la misma fila una cantidad. Quien pueda ayudarme le agradezco.. paso lo que tengo hasta ahora..
Private Sub Agregar_Click()
ult = Cells(Rows.Count, 1).End(xlUp).Row
a = ult + 1
Cells(a, 1) = TextFecha.Text
Cells(a, 3) = ComboClient.Text
Cells(a, 4) = ComboCom.Text
Cells(a, 5) = TextBult.Value
TextFecha = Empty
ComboClient = Empty
ComboCom = Empty
TextBult = Empty
TextFecha.Text = Format$(Date, "dd/mm/yyyy")
If OptMañana.Value = True Then
Cells(a, 2).Value = "Mañana"
End If
If OptTarde.Value = True Then
Cells(a, 2).Value = "Tarde"
End If
Dim a, b, c As String
Dim d As Integer
For i = 8 To ult
a = Cells(i, 1)
b = Cells(i, 3)
c = Cells(i, 4)
d = Cells(i, 5)
15/09/2020 a las 6:47 pm
Buenas, tengo una tabla de valores con for each ejecutado por un botón que seleccione la y las casillas y me saque el descuento 10% y el resultado lo ponga en la casilla al lado de donde se encuentra dicho valor, no se si me hago entender. Y gracias.