Tengo un tabla de prestamos donde tiene a un nombre con varios montos, los nombres son repetidos y los montos también, ya que tiene varios prestamos Como hago para que cuando le de el nombre del empleado me sume todo los prestamos que tiene pendiente, eso lo estoy haciendo desde visual basic en excel Muchas gracias...
Entiendo muy bien lo que necesitas, quizás te pueda servir una tabla dimamica en donde saques los totales . Si lo que quieres es una macro, podría ser de la siguiente manera: Supongamos que los datos están correlativos desde a1:a100 y el nombre que ingreses esta en la cela "c5" Sub Macro2() ' ' Macro2 Macro ' Macro grabada el 26-11-2008 por pedro ' Dim aux1 As String Dim aux2 As String Dim aux3 As String Dim nombre As String Dim monto As Long nombre = Range("d2").Value ' obtengo el nombre de la persona a evaluar Range("A1").Select aux1 = ActiveCell.Row Selection.End(xlDown).Select aux2 = ActiveCell.Row aux3 = aux2 - aux1 + 1 'con estos pasos evaluo el largo de mi base desde el inicio hasta el final y obtengo ' la cantidad de datos a evaluar monto = 0 ' asigno valor 0 al monto Range("A1").Select ' selecciono la celda de inicio de los nombres 'realizo el ciclo For z = 1 To aux3 ' desde 1 hasta el lardo de datos If ActiveCell.Value = nombre Then ' comparo el valor de la celda activa con el nombre ActiveCell.Offset(0, 1).Select ' si son iguales se corre una celda hacia la izquerda ' donde estan los montos monto = monto + Val(ActiveCell.Value) ' obtengo el monto y lo sumo ActiveCell.Offset(0, -1).Select ' vuelvo hacia la derecha End If ActiveCell. Offset(1, 0). Select ' bajo una celda y realizo nuevamente el ciclo Next Range("e2"). Value = monto ' coloco el monto total en la celda "e2" End Sub
Muchas gracias por la información, pero vieras que me un error de "Z" Gracias por la ayuda
si es asi deberias declarar la variable como long dim z as long En el principio del código
Excelente respuesta, pero tengo otra duda, como hago para que no me sume, ¿sino qué me cuenta la cantidad?
monto = monto + Val(ActiveCell.Value) ' obtengo el monto y lo sumo en esta parte del codigo tendrías que cambiar el valor de la celda por valor "1" monto = monto + 1 ' De esta menera cuentas +1