Hacer correr una macro

14/04/2009 - 21:40 por Claudio | Informe spam
Hola

Tengo un problemita, habver si alguien me puede ayudar de antemano muchas
gracias.
Bueno tengo un libro y en una hoja tengo una macro el problema es que
necesito que al hacer click sobre una celda determinada me corra una macro.
en editor de codigo de la hoja este es el codigo que estoy usando

si te das cuenta esta macro corre cuando le hago doble click sobre la hoja,
pero la idea es que corra cuando le haga un click sobre una celda en
particular

la idea es que hagan click sobre la celda C3 y ahi corra la macro

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Range("c3").Select Then
If ActiveCell.Value = "PRESIDENCIA DE LA REPÚBLICA" Then
Range("c4").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
Operator:= _
xlBetween, Formula1:="=Servicio1"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End If
End If
end sub

espero me puedan ayudar

saludos

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
15/04/2009 - 01:07 | Informe spam
hola, Claudio !

... en una hoja tengo una macro el problema es que
necesito que al hacer click sobre una celda determinada me corra una macro.
en editor de codigo de la hoja este es el codigo que estoy usando
si te das cuenta esta macro corre cuando le hago doble click sobre la hoja
pero la idea es que corra cuando le haga un click sobre una celda en particular
la idea es que hagan click sobre la celda C3 y ahi corra la macro



el evento que estas usando se dispara cuando el usuario hace "doble-clic" en alguna celda
si quieres que la macro se ejecute cuando se haga clic (NO doble-clic) usa el evento '_selectionchange'
ambos tienen un argumento (ByVal Target As Range) que sirve para "detectar" cual ha sido esa celda (p.e.)

si la macro estara condicionada al clic (o al doble-clic) en la celda [C3] podria usar algo +/- asi:

If Target.Address = "$C$3" Then
' aqui siguen tus instrucciones ya que la celda ha sido [C3]
End If

o bien...

if Target.Address <> "$C$3" Then Exit Sub ' si NO es C3... no hagas nada... '
' aqui siguen tus instrucciones ya que la celda ha sido [C3]

a lo que no le veo sentido es a estar "machacando" con quitar/re/poner reglas de validacion en la celda [C4] -?????-

saludos,
hector.

__ el codigo expuesto __
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Range("c3").Select Then
If ActiveCell.Value = "PRESIDENCIA DE LA REPàšBLICA" Then
Range("c4").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Servicio1"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End If
End If
end sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida