• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

İki Makro Kodunu Birleştirme. Nasıl?

  • Konbuyu başlatan Konbuyu başlatan woyzeck
  • Başlangıç tarihi Başlangıç tarihi
Katılım
31 Mayıs 2006
Mesajlar
62
Merhaba Arkadaşlar,
öncelikle bu siteye yardım eden ve emeği geçen tüm arkadaşlara teşekkürler.
sorum basit ama ben bilgi yetersizliğimden dolayı çözemedim. forumda da bulamadım ya da gözümden kaçıyor.

sorum şu;

iki farklı makroyu aynı komut satırında nasıl yazabilirim? yani ayrı ayrı yaptığım iki makroyu tek bir makro imiş gibi çalıştırmak isterim.

iki kod daaşağıdaki gibidir;

1. Makro:

Sub CommandButton1_Click()
Application.Calculation = xlCalculationManual
For i = 2 To 2017
Cells(i, "V").Value = WorksheetFunction.SumIf(Sheets("1").Range("H2:H5000"), Sheets("1").Cells(i, "U").Value, Sheets("1").Range("T2:T5000"))
Next
Application.Calculation = xlCalculationAutomatic
MsgBox "ETOPLA Yapıldı..", vbOKOnly
End Sub


2. makro


Sub GEÇİŞ()
'
' GEÇİŞ Makro
'

'
Sheets("DOPEL İŞ EMRİ").Select
Range("B54").Select
End Sub


yardımcı olursanız sevinirim...

iyi çalışmalar...
 
Son düzenleme:
Arkadaşım

Sub KLT_MNT_ETOPLA()
Application.Calculation = xlCalculationManual
For i = 2 To 2017
Sheets("KANAT_KILIT_MENTESE").Cells(i, "U").Value = WorksheetFunction.SumIf(Sheets("KANAT_KILIT_MENTES E").Range("H2:H5239"), Sheets("KANAT_KILIT_MENTESE").Cells(i, "T").Value, Sheets("KANAT_KILIT_MENTESE").Range("S2:S5239"))
Next
Sheets("DOPEL İŞ EMRİ").Select
Range("B54").Select
MsgBox "ETOPLA Yapıldı..", vbOKOnly

Sheets("DOPEL İŞ EMRİ").Select
Range("B54").Select

End Sub

Geçiş makrosundaki sub ile end sub arasındaki kodları kopyalayıp ilk makronun end sub dan önceki satıra kopyalayın o zaman iki makroyu bir makro ile birleştirmiş olursun
 
merhaba
uzman arkadaşlar daha iyi çözümler bulacaklardır.
sub makro1()
sub makro2()
kodlarınızı modüle yazıp, sayfanın kod bölümünde
worksheet_selectionChange altına
call makro1
call makro2

olur mu acaba?
 
Arkadaşım

Geçiş makrosundaki sub ile end sub arasındaki kodları kopyalayıp ilk makronun end sub dan önceki satıra kopyalayın o zaman iki makroyu bir makro ile birleştirmiş olursun

ilginiz için teşekkürler,

@udentr2002; evet dediğin gibi yaptım ama şu hatayı veriyor;

Run Time error '9':
subscript out of range

:(

@uzmanamele;

size de teşekkürler. ama ne demek istediğinizi malesef anlıyamadım... ama şimdi söölediiniz şeyler üzerine bi arama yapiim. belki bişey çıkar..
 
@udentr2002,
haklıydın :) senin dediğin gibi yapmak benim de aklıma gelmiş ama bi türlü becerememiştim. şimdi farkediyorum da aslında kodu yanlış yazmışım, o yüzden hatalar vermekteler... :)

üsteki formülü şu şekilde yazınca oldu,

Sub CommandButton1_Click()
Application.Calculation = xlCalculationManual
For i = 2 To 5240
Cells(i, "V").Value = WorksheetFunction.SumIf(Sheets("KANAT_KILIT_MENTESE").Range("H2:H5240"), Sheets("KANAT_KILIT_MENTESE").Cells(i, "U").Value, Sheets("KANAT_KILIT_MENTESE").Range("T2:H5240"))
Next
Application.Calculation = xlCalculationAutomatic
MsgBox "ETOPLA Yapıldı..", vbOKOnly
Sheets("DOPEL_IS_EMRI").Range("B54").Select
End Sub

bu arada bu;
Run Time error '9':
subscript out of range; hatasını eğer yanlış bir sheet adı yazarsanız çıkıyor.

kolay gelsinnn... teşekkürler...
 
Kıymetli arkadaşlar,
Aşağıdaki makroya, kasa belirlediğim rakamın altına düştüğünde ikaz için ses çıkmasını sağlayacak bir makro daha eklemek istiyorum.
Yardımcı olursanız minnettar kalırım.


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect(Target, [D:D]) Is Nothing Then Exit Sub
On Error GoTo son
ActiveSheet.Unprotect
Cells.Locked = False
If Target.Value = "MASRAF" Then
Range("F:F").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "ÇIKAN" Then
Range("F:F,E:E").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "SATIŞ" Then
Range("F:F,E:E").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "BORÇ DEKONTU" Then
Range("F:F,E:E").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "GİREN" Then
Range("G:G,E:E").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "ALIŞ" Then
Range("G:G,E:E").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "ALACAK DEKONTU" Then
Range("G:G,E:E").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "KASA DEVRİ" Then
Range("G:G,E:E").Locked = True
ActiveSheet.Protect
son:
End If
End Sub
 
Geri
Üst