Al Escribir En Celda D5 Se Active mi macro

12 envíos / 0 nuevos
Último envío
tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 5 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
Al Escribir En Celda D5 Se Active mi macro

Buen dia

 

Como Hacer Para Que Al Escribir En Celda  D5 Se Active mi macro con esta formula

Esta Formula

 

 SI.ERROR(BUSCARV(D5,A1:B3,2,0),"")

 

Saludos...........

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 día 7 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Al Escribir En Celda D5 Se Active mi macro

¿a qué te refieres con que se active una macro con una fórmula?

¿quieres que la macro calcule esa fórmula?¿o quieres escribir esa fórmula en alguna celda?

 

------
Ya sé Excel, pero necesito más.

tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 5 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
Re: Al Escribir En Celda D5 Se Active mi macro

que la celda acrive la macro

 

que al escribir el valor a buscar se active la macro con la formula vlookup

 

saludos

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 día 7 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Worksheet_Change

La Hoja tiene un evento Worksheet_Change que detecta cambios en la hoja, tiene un argumento Target que es la celda o el rango que cambia.

 

Así que esa detección de que cambie lo escrito en la celda D5 podría ser algo parecido a esto.

Verás que compruebo la intersección de D5 con Target, esto es porque la celda D5 puede cambiar si tecleas algo en ella, pero también si copias varias celdas de golpe y las pegas en un rango en el que se encuentre la celda D5, por ejemplo si pegas en las celdas D1:D8 esta intersección con D5 dará como resultado un rango (por eso pongo que no es nada, not ... is nothing)

 

 

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("D5")) Is Nothing Then

        'pon aquí una llamada a tu macro

        MsgBox "un saludo de necesitomas.com"

    End If

End Sub

 

sobre la fórmula vlookup:

puedes utilizarla dentro del código VBA mediante worksheetfunction

Application.WorksheetFunction.VLookup( aquí pones los argumentos como si lo escribieras en una celda)

 

------
Ya sé Excel, pero necesito más.

tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 5 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
Re: Worksheet_Change

ya me funciono en D5 se activa le saludo cada que se escribe algo ahi

 

pero como ago para que apartir de la D5 hacia abajo me funcione la formula y no solo en D5

SI.ERROR(BUSCARV(D5,A1:B3,2,0),"")

 

 

Saludos ....y Gracias .....

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 día 7 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Worksheet_Change

Veo que entonces lo que quieres es escribir la fórmula en las celdas.

 

Bueno, pues es parecido a como se escribe un valor en una celda, pero en vez de utilizar .value, utiliza .FormulaLocal

por ejemplo: 

Activecell.FormulaLocal= "=SI.ERROR(BUSCARV(D5,A1:B3,2,0),"")"

 

Utilizo FormulaLocal para escribir la fórmula directamente en el idioma de tu versión de Excel, si empleas .Formula deberías escribirlo en inglés.

Por supuesto, en vez de activecell puedes emplear cualquier rango

Range("B2:C4").FormulaLocal="=SI.ERROR(BUSCARV(D5,A1:B3,2,0),"")"


dos advertencias:

No olvides poner el signo = para que lo interprete como una fórmula y no como un texto.

Atención a las referencias absolutas y relativas. no es lo mismo D5 que $D$5.

 

------
Ya sé Excel, pero necesito más.

tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 5 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
Re: Worksheet_Change

si asi es como es ,pero deseo que esta formula la pueda correr alas celdeas de abajo en la D5 D6 D7 D8 etc..

 

Saludos...........

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 día 7 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Worksheet_Change

¿hasta donde, hasta la fila mil?

Range("D5:D1000").FormulaLocal=...

 

------
Ya sé Excel, pero necesito más.

tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 5 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
Re: Worksheet_Change

exelente ya corre bien con la formula

 

la puse asi

.

Sub FBuscarV()

Range("d5:d100").FormulaLocal = "=BUSCARV(C5;A1:B5;2;0)"


End Sub

 

pero me pone NA# Cuando ya que no encuentra datos en las demas celdas

quisiera que no haga nada si no encuentra datos en c5

 

 

saludos...........

Cron
Imagen de Cron
Offline
última acción: Hace 7 meses 3 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Re: Al Escribir En Celda D5 Se Active mi macro

Si la matriz en la que buscas los datos está siempre en A1:B3, pon un símbolo $ delante:

 

SI.ERROR(BUSCARV(D5,A$1:B$3,2,0),"")

tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 5 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
Re: Worksheet_Change

y como hago para que cuando no haye valor a buscar se brinque ala celda siguiente y que no me ponga la formula en esa celda, ya que nesesito poner comentarios en las celdas donde no hay valores a buscar columna D

 

saludos

tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 5 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
Re: Al Escribir En Celda D5 Se Active mi macro

y como hago para que cuando no haye valor a buscar se brinque ala celda siguiente y que no me ponga la formula en esa celda, ya que nesesito poner comentarios en las celdas donde no hay valores a buscar columna D

 

saludos