• DİKKAT

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

Module de çalışmayan Makro

Katılım
22 Ocak 2006
Mesajlar
209
Excel Vers. ve Dili
Office 2003 , 2013 ve 2016 TR.
Merhaba.

Aşağıdaki Kodları Worksheet_Change de yazınca çalışıyor Module ye yazınca çalışmıyor.

Worksheet de bir sütun değişince aşağıdaki Hesapla Makrosunun çalışmasını istiyorum.

Satr = Target.Cells.Row

Kodunu değişken olarak Worksheet_Change de kullanınca çalışıyor Module de sürekli hata veriyor. Kodları nasıl değiştirmem gerektiği konusunda yardımcı olabilir misiniz.


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 Then
Call Hesapla
End If
End Sub




Sub Hesapla()

Satr = Target.Cells.Row '// Bu kod hata veriyor \\,

Cells(Satr, 5).Value = ""
Cells(Satr, 6).Value = ""
Cells(Satr, 7).Value = ""
Cells(Satr, 9).Value = ""

If Cells(Satr, 4).Value = 18 Then
Cells(Satr, 5).Value = (Cells(Satr, 3).Value / 1.18) * 0.18
Cells(Satr, 9).Value = Cells(Satr, 3).Value - Cells(Satr, 5) - Cells(Satr, 8)

ElseIf Cells(Satr, 4).Value = 8 Then
Cells(Satr, 6).Value = (Cells(Satr, 3).Value / 1.08) * 0.08
Cells(Satr, 9).Value = Cells(Satr, 3).Value - Cells(Satr, 6) - Cells(Satr, 8)

ElseIf Cells(Satr, 4).Value = 1 Then
Cells(Satr, 7).Value = (Cells(Satr, 3).Value / 1.01) * 0.01
Cells(Satr, 9).Value = Cells(Satr, 3).Value - Cells(Satr, 7) - Cells(Satr, 8)

ElseIf Cells(Satr, 4).Value = "" Then
Cells(Satr, 9).Value = Cells(Satr, 3).Value - Cells(Satr, 8)
End If

Cells(Satr, 5).Value = Round(Cells(Satr, 5), 2)
Cells(Satr, 6).Value = Round(Cells(Satr, 6), 2)
Cells(Satr, 7).Value = Round(Cells(Satr, 7), 2)
Cells(Satr, 8).Value = Round(Cells(Satr, 8), 2)
Cells(Satr, 9).Value = Round(Cells(Satr, 9), 2)

End Sub

Yardımlarınız için şimdiden Teşekkürler.
 
Target ifadesi modülde çalışmaz. Sayfa olaylarında çalışır.

Modül için Activecell ifadesini kullanabilirsiniz.
 
...

Çok Teşekkürler.

Ayrıca birşey sormak istiyorum.

Dışarıdan değişken göndererek makroda hesaplama yaptıra bilir miyiz.

Örnek Ben aktif sayfadan Mth , Kdv , Ykn gibi değişkenleri belirleyip. Module içinde de bu değişkenleri kullanarak hesap yapan bir makro olacak. Hesaplamayı yaptıktan sonra Sonuc diye bir hesaplama yapacak bende bu Sonuc değişkenini aktif sayfada bir işlem yapıcam.

Kullanıcı tanımlı fonksiyonlar gibi. Mth , Kdv , Ykn değişkenlerle işlem yapıcak bir fonksiyon yazıp Sonuc u bulduktan sonra bu sonucu da istediğim yere yazdıra bilir miyim ?

Umarım anlata bilmişimdir.

Yardımlarınız için tekrar teşekkürler. Esenlikler dilerim.
 
Örnek dosyanızı ekleyip yapmak istediğiniz işlemi açıklarsanız yardımcı olabiliriz.
 
...

Merhaba.

Örnek Dosya aşağıdaki linktedir.

http://s6.dosya.tc/server8/etvvp3/Ornek_Hesaplama.xls.html

Örnek dosyada olduğu gibi Aktif sayfada bir sütun değişince hesaplama yapıp ilgili hücrelere yazmasını istiyorum.

Yekün ( C Sütunu ) herhangi bir hücre Değişince Oran | Kdv_18 | Kdv_08 | Kdv_01 | Öiv/Ötv | Matrah diye değişkenleri bu sayfada belirleyeceğim.

Hesap diye bir makrom olacak, Kullanıcı tanımlı fonksiyon gibi çalışacak. Ben Yekün ve Oran değişkenlerini göndereceğim hesap yapacak Matrah diye bir sonuç bulacak ve benim istediğim yere yazacak.

Başka bir makroda Yekün | Kdv_18 ve Kdv_08 değişkenlerini göndereceğim yine bir sonuç bulacak. Bende bu sonucu istediğim yere yazdıracağım.

Bunu yapmamdaki amaç, Hesap yapılacak sayfalar çok. en az 22 sayfa. Ama Hesaplamada kullanılan temel değerler aynı Yekün | Oran | Kdv_18 | Kdv_08 | Kdv_01 | Öiv/Ötv | Matrah

Bende bu değişkenlerle hesap yapacak bir makro yazmak ve sayfalardan bu makroya değişkenler göndermek ve bu değişkenlerle yapılacak hesap sonucunu istediğim yere yazdırmak istiyorum.

Gecenin bu saatinte zaman ayırdığınız için teşekkür ederim.

NOT : Ekstre bir sorum daha olacak. Ben Txt dosyasına makro kodlarını yazacağım ( Makro1.txt , Makro2.txt gibi ). Sonrada Excel de Makro1 i çalıştır diye bir düğmem olacak. Makro1.txt dosyasından yazdığım makroyu okuyacak ve çalıştıracak. Böyle bir uygulama mümkün mü ? Mümkünse bana kaynak göndere bilir misiniz yada bir örnek.

Esenlikler dilerim. İyi çalışmalar.
 
Geri
Üst