İki macroyu tek Tuşa atamak

Katılım
5 Nisan 2008
Mesajlar
352
Excel Vers. ve Dili
Microsoft Office Standard 2010 TR
32 Bit
Altın Üyelik Bitiş Tarihi
31-01-2024
Merhaba arkadaşlar.

2 Adet Kod yazdım. Bunları tek tuşla ikisini aynı anda çalıştıra bilirmiyim?

Sub dsyara()

Dim x1 As Worksheet
Dim x2 As Worksheet

Set x1 = Sheets("Data")
Set x2 = Sheets("Veri")

x1.Range("a2:a5000") = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(x1.Range("c2:c5000"), x2.Range("a:j"), 4, 0), "")
x1.Range("l2:l5000") = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(x1.Range("c2:c5000"), x2.Range("a:j"), 10, 0), "")
x1.Range("j2:j5000") = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(x1.Range("c2:c5000"), x2.Range("a:j"), 3, 0), "")
x1.Range("k2:k5000") = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(x1.Range("c2:c5000"), x2.Range("a:j"), 5, 0), "")

End Sub

Sub carp()

With Sheets("Data").Range("h2:h5000")
.Formula = "=Data!f2*Data!k2"
.Value = .Value
End With

With Sheets("Data").Range("I2:I5000")
.Formula = "=Data!G2*Data!k2"
.Value = .Value
End With


End Sub
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,598
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,
Üçüncü makro ile;
C++:
Sub Tek_Tus()
    Call dsyara
    Call carp
End Sub
Veya ilk çalışacak kodun son satırından önce ikinci makronun adını yazarak;
C++:
Sub dsyara()

Dim x1 As Worksheet
Dim x2 As Worksheet

Set x1 = Sheets("Data")
Set x2 = Sheets("Veri")

x1.Range("a2:a5000") = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(x1.Range("c2:c5000"), x2.Range("a:j"), 4, 0), "")
x1.Range("l2:l5000") = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(x1.Range("c2:c5000"), x2.Range("a:j"), 10, 0), "")
x1.Range("j2:j5000") = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(x1.Range("c2:c5000"), x2.Range("a:j"), 3, 0), "")
x1.Range("k2:k5000") = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(x1.Range("c2:c5000"), x2.Range("a:j"), 5, 0), "")
   
Call carp

End Sub
 

RBozkurt

Altın Üye
Katılım
10 Ocak 2018
Mesajlar
582
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Aşağıdaki işlevi bir örneğin butona atarsanız makrolar aynı anda çalışmaz ama tek tıkarsınız yazılan sıra ile ikisi de çalışır.

C++:
Sub Makrolar()
     Call dsyara 
     Call carp
End Sub
 
Katılım
5 Nisan 2008
Mesajlar
352
Excel Vers. ve Dili
Microsoft Office Standard 2010 TR
32 Bit
Altın Üyelik Bitiş Tarihi
31-01-2024
Merhaba,
Üçüncü makro ile;
C++:
Sub Tek_Tus()
    Call dsyara
    Call carp
End Sub
Veya ilk çalışacak kodun son satırından önce ikinci makronun adını yazarak;
C++:
Sub dsyara()

Dim x1 As Worksheet
Dim x2 As Worksheet

Set x1 = Sheets("Data")
Set x2 = Sheets("Veri")

x1.Range("a2:a5000") = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(x1.Range("c2:c5000"), x2.Range("a:j"), 4, 0), "")
x1.Range("l2:l5000") = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(x1.Range("c2:c5000"), x2.Range("a:j"), 10, 0), "")
x1.Range("j2:j5000") = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(x1.Range("c2:c5000"), x2.Range("a:j"), 3, 0), "")
x1.Range("k2:k5000") = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(x1.Range("c2:c5000"), x2.Range("a:j"), 5, 0), "")
  
Call carp

End Sub


Teşekkür ederim . Çalışıyor. Elinize sağlık
 
Üst