Hola grupo como estan necesito una vez mas de su ayuda.
1. Tengo una macro que cuando introduzco un nombre el A4 de la hoja 2
al pulsar una imagen que le asigne una macro que esta en el modulo 1 no
directamente en elmodulo de la hoja se hace un autofiltro en la hoja 1
y me trae a la hoja 2 los datos correspondientes a esa nombre.
2. Por otro lado tengo otra macro que se la asigne directamente al
módulo de la hoja 2 y cuando introduzco el nombre en A4 de la hoja 2 y
pulso Enter me trae la imagen correspondiente a ese nombre (donde la
imagen esta en una carpeta en C:\\).
Bueno lo que quiero es que las dos se ejecuten al mismo tiempo despues
que introduzca el nombre en A4 el la hoja 2 y presione Enter si
necesidad de tener que presionar luego la imagen para que ejecute la
macro 1.
Yo coloque las dos en el módulo de la hoja dos pero solo se ejecuta la
macro dos despues de dar Enter.
macro 1 Private Sub macro1()
Dim criterio As String
criterio = Cells(4, 1).Text
Range("B4").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.ClearContents
Sheets("Hoja1").Select
Selection.AutoFilter Field:=2, Criteria1:=criterio
Range("C4").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Hoja2").Select
Range("B4").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("C10").Select
End Sub
macro 2 esta del grupo google
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = "$A$1" Then Exit Sub
Dim De_donde As String, Foto As Object, _
Arriba As Double, Izquierda As Double, Ancho As Double, Alto
As Double
Application.ScreenUpdating = False
On Error Resume Next
Me.Shapes("LaFoto").Delete
De_donde = "C:\Mis imagenes\" & [a1] & ".jpg"
If Dir(De_donde) = "" Then Exit Sub
Set Foto = Me.Pictures.Insert(De_donde)
With Me.Range("f1:h21")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto
.Name = "LaFoto"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
Set Foto = Nothing
End Sub
Gracias por su ayuda de antemano
Leer las respuestas