hacer correr dosmacros al mismo tiempo

15/10/2006 - 01:02 por Edixon | Informe spam
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

#1 Héctor Miguel
15/10/2006 - 05:37 | Informe spam
hola, !


1. Tengo una macro que... al pulsar una imagen... hace un autofiltro en la hoja 1 y me trae a la hoja 2 los datos correspondientes...
2. ... tengo otra macro... modulo de la hoja 2... en A4... me trae la imagen correspondiente...
... lo que quiero es que las dos se ejecuten al mismo tiempo despues que... A4... sin necesidad... presionar luego la imagen [...]



1) [hasta donde se]... no es posible ejecutar DOS macros de manera -precisa y exactamente- 'simultanea' :-(
2) lo que puedes hacer, es ejecutarlas 'una despues de la otra'...
SI... luego de los eventos de 'A4' en la hoja2 -> 'llamas' a la otra macro [o repites su codigo antes de terminar el evento] ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Preguntas similares