Página 1 de 1
[RESUELTO] aplicar valor formula a través de macro en tabla
Publicado: Mié Nov 30, 2016 7:18 pm
por rhod-wulf
Buenas tardes, tengo un archivo en el que tengo que documentar las atenciones que he realizado en un mes, no puedo subir el archivo porque está en una pc del trabajo, estoy escribiendo desde otra pc, esta es la foto de las columnas que tiene el documento:
Lo que intento hacer es que mediante la activación de la macro al cambiar el valor de una celda se inserte el resultado de la formula en la celda correspondiente en la fila activa, estas son las macros:
Como podrán ver en dos de las macros tengo dos fórmulas que se activan de acuerdo a una celda en específica:
La macro insertarhorainicio se activa con la columna ingreso (D), inserta la fecha para la columna E y el número de correo en la B
La macro insertarhorafinal se activa con la columna B: De baja A: atendido (J) inserta la fecha para la columna F que va a estar oculta y la columna I que es donde se muestra el tiempo de duración en minutos la formula que puse en la primera fila es =(F8-E8)*24*60 y no me percaté que solo funcionaría para la fila 8 y no para las demás
Lo que quiero lograr es que se me inserte el resultado de la formula en la columna B para los números 1 2 3 4... asi sucesivamente y en la columna I el tiempo en minutos obtenidas de las fechas de esa fila
Agradezco su colaboración
Re: aplicar valor formula a través de macro en tabla
Publicado: Mié Nov 30, 2016 7:45 pm
por mauricio
Es mejor que adjuntes un archivo con las macros y toda la información necesaria, obtendrás mejores respuestas...
Saludos
Re: aplicar valor formula a través de macro en tabla
Publicado: Mié Nov 30, 2016 8:52 pm
por rhod-wulf
Subo este, espero no les importe el formato a fin de cuentas no es el original
lo resaltado es donde las macros se activan al introducir datos
Saludos
Re: aplicar valor formula a través de macro en tabla
Publicado: Jue Dic 01, 2016 4:35 am
por rhod-wulf
Cambie setvalue por value, a pesar que no me generó error, me ponia un cero como resultado, no sirvió el experimento:(
Re: aplicar valor formula a través de macro en tabla
Publicado: Jue Dic 01, 2016 6:03 pm
por fornelasa
No se entiende lo que deseas, al menos yo no lo entendí.
Saludos.
Re: aplicar valor formula a través de macro en tabla
Publicado: Jue Dic 01, 2016 7:31 pm
por rhod-wulf
Buenas tardes, con gusto le explico con un ejemplo
correo recibido el 29/11/16
correo atendido el 1/12/16
columna C: ingreso el numero de correo (nada pasa)
columna D: ingreso la fecha de ingreso del correo a la bandeja 29/11/16 (se activa macro insertar hora inicio, ingresa fecha en que se atiende en columna E 1/12/16 y el número en la columna B)
columna G: tipo de correo (nada pasa)
columna H: dirección de correo (nada pasa)
columna J: Se ingresa por ejemplo A o B (se activa macro, insertarhorafinal, ingresa fecha en columna F que va a estar oculta y la formula del tiempo transcurrido en la columna I
En el archivo de prueba vera que las columnas que están resaltadas en amarillo son las que activan las macros con introducir valores en ellas, como sucede? a través de validación de datos en mena datos > validación, puse que longitud es igual a cero y en mensaje de error la macro en cuestión
Las columnas i y b son las que se insertan las fórmulas
El problema es que la formula que ingresa la primera fila esta bien, pero al ingresar los datos en las siguientes filas, la formula que se está ingresando es la misma de la primera fila por ejemplo
La macro ingresa la formula F8-E8*24*60 en la fila 8
En la fila 9 está ingresando la misma formula F8-E8*24*60 en vez de F9-E9*24*60, osea las celdas de la formula no está cambiando conforme van ingresando nuevas filas
Lo que quiero es que la macro ingrese la formula de acuerdo a la fila en que se encuentre si es la fila 100 ingrese la formula F100-E100*24*60
EDIT: Será posible que en vez de ingresar la formula, ingrese el resultado de la formula en la columna de tiempo?
Muchas gracias por la atención brindada
Re: aplicar valor formula a través de macro en tabla
Publicado: Vie Dic 02, 2016 5:48 am
por rhod-wulf
No logro sustituir en la formula F8-E8*24*60 el 8 por la fila que esté activa en ese momento.
Si yo estoy en la fila 10 en vez del 8 salga el 10
O mejor aún inserte el calculo de la formula en la celda
Siento que calc es más dificil y complicado que excel, no hay tanta información ni siquiera el libro de mauricio sale referencia a lo que necesito, solo ejemplo bàsico de como crear una funciòn y es estatica no dinamica, independientemente donde la pegue, el nùmero de la celda es el mismo y no la cambia por la fila correspondiente.
Re: aplicar valor formula a través de macro en tabla
Publicado: Vie Dic 02, 2016 8:22 am
por PepeOooSevilla
Hola.
rhod-wulf escribió:Si yo estoy en la fila 10 en vez del 8 salga el 10
Prueba modificando la línea del procedimiento
InsertarHoraFinal():
Código: Seleccionar todo
oHoja.getCellByPosition(lCol, oDir.Row).FormulaLocal = "=(F8-E8)*24*60"
Por esta otra:
Código: Seleccionar todo
oHoja.getCellByPosition(lCol, oDir.Row).FormulaLocal = "=(F" & CStr(oDir.Row+1) & "-E" & CStr(oDir.Row+1) & ")*24*60"
Internamente las filas se numeran comenzando en el 0, si Row = 0 entonces Fila = Row + 1
Saludos cordiales.
Re: aplicar valor formula a través de macro en tabla
Publicado: Vie Dic 02, 2016 9:05 am
por PepeOooSevilla
Hola.
rhod-wulf escribió:O mejor aún inserte el calculo de la fórmula en la celda
Prueba modificando la línea del procedimiento
InsertarHoraFinal() original:
Código: Seleccionar todo
oHoja.getCellByPosition(lCol, oDir.Row).FormulaLocal = "=(F8-E8)*24*60"
Por esta otra:
Código: Seleccionar todo
oHoja.getCellByPosition(lCol, oDir.Row).setValue(24*60*(CDbl(oHoja.getCellByPosition(lCol-3, oDir.Row).getValue)-CDbl(oHoja.getCellByPosition(lCol-4, oDir.Row).getValue)))
Internamente las filas se numeran comenzando en el 0, si Row = 0 entonces Fila = Row + 1.
Ídem las columnas, si Column = 0 entonces Columna = "A". Por ser lCol=8 entonces lCol-3 = Columna F y lCol-4 = Columna E.
- Y, recuerda para próximas veces que: "una pregunta por tema y un tema por pregunta. Y, por favor, no dupliques los temas (utilizando formula en macro)".
Bueno, nadie es
ferpecto ni nace sabiendo y yo el primero

Saludos cordiales.
Re: aplicar valor formula a través de macro en tabla
Publicado: Sab Dic 03, 2016 8:13 am
por rhod-wulf
Muchas gracias Pepe, no habría podido hacer la modificación que propusiste.
Doy por resuelta
Re: aplicar valor formula a través de macro en tabla
Publicado: Dom Dic 04, 2016 6:20 am
por PepeOooSevilla
Hola.
Si consideras que el tema está resuelto, indícalo (
¿Cómo marcar como RESUELTO un tema?), ya que, de esta forma, conseguiremos un foro más ordenado.
Saludos cordiales.