• DİKKAT

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

Birkaç makroyu çalıştırmak istiyorum

Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
"GİRİŞ" çalışma sayfasının kod bölümüne verileri girip N1:N2 hücresine geldiğimde "makro1" modülüne yazdığım "kayit" ve "arttır" makroları sorunsuz çalışıyor. aynı çalışma kitabının "ANAGİRİŞ" sayfasında işlem yapan "FormulSurukle" ve "HAREKET" sayfasında işlem yapan "hareket_ay_aktar" ile "surukle" adlı makroları' da "modül1" e kopyalayıp

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("N1:N2")) Is Nothing Then Exit Sub
kayit
arttır
FormulSurukle
hareket_ay_aktar
Surukle
End Sub

giriş sayfasındaki makroya ilave ettim, ama hata verip, ilave ettiğim 3 makro çalışmıyor, oysa ilave üç makroda "makro1" modülünde
ANAGİRİŞ VE HAREKET sayfalarına buton oluşturup çalıştırdığımda makrolar sorunsuz çalışıyor
Teşekkürler.
 
Son düzenleme:
Merhabalar.

"ANAGİRİŞ" sayfasında işlem yapan "FormulSurukle" ve "HAREKET" sayfasında işlem yapan
"hareket_ay_aktar" ile "surukle" adlı makrolar


Yukarıda bahsettiğiniz makrolardaki hücre adresleri vs. sayfa adı belirtilmeden yazılmış olmalı.
Böyle olunca ilgili sayfanın Active edilmeş olası veya ilgili makrolardaki hücre adreslerinin;
Sheets("ANAGİRİŞ").[A1] gibi düzenlemeniz gerekebilir.

Sorun yaşarsanız örnek belge ekleyin ki net ve kesin çözüme ulaşın.
.
 
Merhabalar.

"ANAGİRİŞ" sayfasında işlem yapan "FormulSurukle" ve "HAREKET" sayfasında işlem yapan
"hareket_ay_aktar" ile "surukle" adlı makrolar


Yukarıda bahsettiğiniz makrolardaki hücre adresleri vs. sayfa adı belirtilmeden yazılmış olmalı.
Böyle olunca ilgili sayfanın Active edilmeş olası veya ilgili makrolardaki hücre adreslerinin;
Sheets("ANAGİRİŞ").[A1] gibi düzenlemeniz gerekebilir.

Sorun yaşarsanız örnek belge ekleyin ki net ve kesin çözüme ulaşın.
.

dediğinizi yapamadım örnek dosyayı yüklüyorum
http://s6.dosya.tc/server7/bzdlyg/STOK_MSTR.rar.html
 
Modüldeki kodları aşağıdakilerle değiştirin ve
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
kodlarında da End Sub satırından önce, FormulSurukle, hareket_ay_aktar ve Surukle makrolarının adlarını alt alta yazın.
.
Kod:
[FONT="Arial Narrow"][B]Sub FormulSurukle()[/B]
    On Error Resume Next
    Application.EnableEvents = False
    son_satir = Sheets("ANAGİRİŞ").Range("B65530").End(3).Row 'veri girilince formül tetiklenir
    Sheets("ANAGİRİŞ").Range("A2").AutoFill Destination:=Sheets("ANAGİRİŞ").Range("A2:A" & son_satir) 'formülün kopyalanacağı satırlar
    Sheets("ANAGİRİŞ").Range("Q2").AutoFill Destination:=Sheets("ANAGİRİŞ").Range("Q2:Q" & son_satir)
        Application.EnableEvents = True
[B]End Sub

Sub Surukle()[/B]
    On Error Resume Next
    Application.EnableEvents = False
    son_satir = [B][COLOR="Red"]Sheets("HAREKET").[/COLOR][/B]Range("P65530").End(3).Row
    Sheets("HAREKET").Range("A2:D2").AutoFill Destination:=Sheets("HAREKET").Range("A2:D" & son_satir) 'formülleri bir alt satıra kopyalama
    Sheets("HAREKET").Range("F2:O2").AutoFill Destination:=Range("F2:O" & son_satir)
Application.EnableEvents = True
[B]End Sub

Sub hareket_ay_aktar()[/B]
Dim sonsat As Long, sh As Worksheet
Sheets("HAREKET").Range("P2:P" & Rows.Count).ClearContents
Set sh = Sheets("ANAGİRİŞ")
sonsat = sh.Cells(Rows.Count, "Q").End(xlUp).Row
Application.ScreenUpdating = False
sh.Range("Q2:Q" & sonsat).Copy   'ay' ları formül olarak değil, değer olarak aktarma
Sheets("HAREKET").Range("P2").PasteSpecial xlPasteValues
Application.ScreenUpdating = True
[B]End Sub[/B][/FONT]
 
Son düzenleme:
Modüldeki kodları aşağıdakilerle değiştirin ve
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
kodlarında da End Sub satırından önce, FormulSurukle, hareket_ay_aktar ve Surukle makrolarının adlarını alt alta yazın.
.
Kod:
[FONT="Arial Narrow"][B]Sub FormulSurukle()[/B]
    On Error Resume Next
    Application.EnableEvents = False
    son_satir = Sheets("ANAGİRİŞ").Range("B65530").End(3).Row 'veri girilince formül tetiklenir
    Sheets("ANAGİRİŞ").Range("A2").AutoFill Destination:=Sheets("ANAGİRİŞ").Range("A2:A" & son_satir) 'formülün kopyalanacağı satırlar
    Sheets("ANAGİRİŞ").Range("Q2").AutoFill Destination:=Sheets("ANAGİRİŞ").Range("Q2:Q" & son_satir)
        Application.EnableEvents = True
[B]End Sub

Sub Surukle()[/B]
    On Error Resume Next
    Application.EnableEvents = False
    son_satir = Range("P65530").End(3).Row
    Sheets("HAREKET").Range("A2:D2").AutoFill Destination:=Sheets("HAREKET").Range("A2:D" & son_satir) 'formülleri bir alt satıra kopyalama
    Sheets("HAREKET").Range("F2:O2").AutoFill Destination:=Range("F2:O" & son_satir)
Application.EnableEvents = True
[B]End Sub

Sub hareket_ay_aktar()[/B]
Dim sonsat As Long, sh As Worksheet
Sheets("HAREKET").Range("P2:P" & Rows.Count).ClearContents
Set sh = Sheets("ANAGİRİŞ")
sonsat = sh.Cells(Rows.Count, "Q").End(xlUp).Row
Application.ScreenUpdating = False
sh.Range("Q2:Q" & sonsat).Copy   'ay' ları formül olarak değil, değer olarak aktarma
Sheets("HAREKET").Range("P2").PasteSpecial xlPasteValues
Application.ScreenUpdating = True
[B]End Sub[/B][/FONT]

iki makro normal çalışıyor, ancak "surukle" makrosu formülü kopyalamıyor. karıştırdım ama çözemedim
 
Sayfayı yerileyerek, önceki cevabımdaki kod'u tekrar kontrol edin.
Surukle kodu'nda kırmızı renklendirdiğim kısmı ekledim.
İstediğiniz sonucun elde edilmesi lazım.
.
 
Kolay gelsin, iyi günler dilerim.
 
Geri
Üst