Como dividir dos celdas y multiplicarlo por 100 en excel

que tal expertos deseo hacer una operación matemática cuya formula en excel es la siguiente E2/D2*100 y el resultado debe dar en la celda c2 esto lo debo hacer cada ves que registre un dato con un formulario que tengo haciendo esta operación con el nuevo registro es decir c3-c4-c5 hasta xldown la verdad no se si tenga que hacer una macro o lo pueda hacer en el formulario de registros espero su ayuda ya que soy un aprendiz de programación agradezco su aporte y espero haya sido claro muchas gracias

1 respuesta

Respuesta
1

Podrías tener ya la fórmula (*) en el rango de celdas o una vez que completas todos los datos darle doble clic al extremo derecho de la celda C2 para que se complete hacia abajo.

También podrías tener una macro que se ejecute cada vez que ingresas un dato en col D o E. (**)

(*) Para que no se vea la fórmula con error cuando aún no hay datos utilizá este ejemplo:

=SI(Y(E2<>"";D2<>"");E2/D2*100;"")

(**) Para desarrollar la macro debiera conocer el rango hasta donde llegará el llenado de datos en col D y/o E . Comentame si la necesitas.

Sdos y quedo atenta a tus aclaraciones.

gracias por tu respuesta la verdad si necesito la macro ya que el llenado no tiene fin de datos puedo grabar 15000 o 25000 datos. estoy desarrollando un recetario con un formulario grabo el nombre de la receta la cual se registra en una hoja llamada recetas y visualizo lo grabado por medío de un filtro en un listbox selecciono la receta y empiezo a añadir los ingredientes los cuales se me van grabando en otra hoja ingredientes y visualizando en un listbox2 de ese mismo formulario, es aquí el foco de mi pregunta la cual quiero que cuando grabe el ingrediente la cual yo capturo el peso columna E y el %comestible columna D se me desarrolle la formula E2/D2*100 en la hoja ingredientes y el resultado se grabe en la columna C de manera automática, la verdad no se como hacer esta rutina y donde colocarla para que se ejecute de manera automática.

espero me haya hecho entender y gracias por su tiempo dedicado felicitándola por su labor tan loable y comprometida a compartir sus conocimientos profesionales con aquellos aprendices de nuevo gracias..........

Escribime la parte de la rutina donde movés los datos a las filas de hoja Ingredientes, para poder tomar la ref.

Sdos!

hola: esta es la rutina para grabar los ingredientes...

Private Sub CommandButton1_Click()
Dim i As Control
'lleno los controles en el formulario
For Each i In Controls
If TypeName(i) = "TextBox" Or TypeName(i) = "ComboBox" Then
If Len(i.Text) = 0 Then
MsgBox "Faltan datos en el formulario ", vbCritical & i.Tag
Exit Sub
End If
End If
Next
cod_prod = ListBox1.List(ListBox1.ListIndex, 0)
Set b = Sheets("Producción").Columns(1).Find(cod_prod)
If Not b Is Nothing Then
comes = Sheets("Producción").Cells(b.Row, "K") ' lineas para jalar de manera automática,
come = Sheets("Producción").Cells(b.Row, "I") 'de otra hoja un dato
End If


'las celdas en que se graban en la hoja ingrediente los datos

With Sheets("rec-ingre")
uf = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Cells(uf, "A") = código
.Cells(uf, "B") = ListBox1.List(ListBox1.ListIndex, 1)
.Cells(uf, "D") = comes
.Cells(uf, "E") = Val(TextBox9)
.Cells(uf, "F") = come
End With
MsgBox "Ingrediente agregado a la receta", vbInformation, "INGREDIENTES"
TextBox8 = ""
TextBox9 = ""
'Unload Me
ingrediente.Hide

muchísimas gracias por su aporte

Bien, en la parte de la rutina donde movés los datos a las celdas agregá luego de la línea que dejo en negrita, la instrucción que coloca la fórmula:

.Cells(uf, "F") = come

.Cells(uf, "C").Formula = "=E" & uf & "/D" & uf & "*100"

Si en lugar de la fórmula necesitas al resultado solamente, colocá estas otras. El control de error lo agrego x las dudas que D quede vacía para que no te salte el error de dividir por 0

On Error Resume Next
.Cells(uf, "C") = Val(textbox9) / comes * 100
On Error GoTo 0

muchas gracias aplique la primera linea ya que la otra la del resultado solamente me daban valores algo extraños por ejemplo un resultado que me debía dar 15 me daba 0.15 y/o 15.89 me daba 1.589 y asi por el estilo pero la verdad su aporte fue grandioso y exacto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas