Foros del Web » Soporte técnico » Ofimática »

Validad campo para ejecutar macro Excel

Estas en el tema de Validad campo para ejecutar macro Excel en el foro de Ofimática en Foros del Web. Hola Compañeros, de antemano la valiosa ayuda, necesito validar un campo, que cuando sea igual a "Ventas", pueda ejecutar un macro para ventas, cuando yo ...
  #1 (permalink)  
Antiguo 18/07/2008, 11:56
 
Fecha de Ingreso: marzo-2008
Ubicación: Guatemala
Mensajes: 21
Antigüedad: 16 años, 8 meses
Puntos: 0
Validad campo para ejecutar macro Excel

Hola Compañeros, de antemano la valiosa ayuda, necesito validar un campo, que cuando sea igual a "Ventas", pueda ejecutar un macro para ventas, cuando yo quiera cambiar de "Ventas" a "Operaciones", el macro me sirva para "operaciones", yo tengo un macro por cada area, y me funciona bien para ventas, lo que no quiero es crear botones por cada area, sino usar los mismo botones que tengo para ventas, operaciones, etc..., pero que valide un campo donde tengo una lista. Gracias, adjunto el codigo del macro de ventas. Este macro me sirve para 3 botones, uno me copia un rago de un lugar a otro, otro me borra ese rango copiado y otro inserta info que grabe en ese rango en otro rango. me funciona todo, pero los tres botones los quiere usar segun la seleccion del campo A6="Ventas", A6="Operaciones", etc.


Sub Ventas()
'
' Eventos Macro
' Macro grabada el 16/07/2008
'

'
Sheets("dat").Select
Range("H23:K27").Select
Selection.Copy
Sheets("Menu").Select
Range("E6").Select
ActiveSheet.Paste
Columns("E:H").Select
Selection.ColumnWidth = 25
Range("E9").Select
End Sub
Sub delete_vtas()
'
' delete Macro
' Macro grabada el 16/07/2008
'

'
Columns("E:H").Select
Application.CutCopyMode = False
Selection.delete Shift:=xlToLeft
Range("E6").Select
End Sub
Sub insert_vtas()
'
' insert Macro
' Macro grabada el 16/07/2008
'

'
Sheets("Ventas").Select
Rows("4:4").Select
Rows("5:5").Select
Selection.insert Shift:=xlDown
Range("A5").Select
Sheets("Menu").Select
Range("E9:H9").Select
Selection.Copy
Sheets("Ventas").Select
Range("A5:D5").Select
ActiveSheet.Paste
Range("A4:D4").Select
Sheets("Menu").Select
Range("A6").Select
Application.CutCopyMode = False
End Sub
  #2 (permalink)  
Antiguo 18/07/2008, 15:20
Avatar de abrahamvj  
Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 708
Antigüedad: 18 años, 4 meses
Puntos: 18
Respuesta: Validad campo para ejecutar macro Excel

Pues usando el evento Change de la hoja en cuestion, no deberias tener problemas:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address ="$A$6" then
Select Case Target.value
Case "Ventas"
Call Ventas
Case "Operaciones"
Call Operaciones
Case Else
End Select
Else
exit Sub
end IF
End Sub

Hummm... o algo asi, lo estoy haciendo de memoria y a lo rapido, pero guiate con eso

Abraham

PD: El "Call" se puede obviar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:46.