Cikarma isleminin makrosu

Katılım
28 Nisan 2008
Mesajlar
406
Excel Vers. ve Dili
Excel 2007- Türkce
kusura bakmayin Saban bey belki de biraz önce benden kaynaklanan bir sorunla makro calismadi. sebebi F2-H2 seklindeki cikarma isleminde F sütunundaki sayilari hücreye ben giriyorum. H sütunundaki sayilar ise TOPLA.ÇARPIM((Sayfa2!$B$3:B3000=D2)*(Sayfa2!$C$3:C3000=E2);(Sayfa2!$D$3:D3000)) formülüyle baska bir sayfadan geliyor.( ben sayfa3 te calisiyorum ) bu sekilde olunca bu makro calismiyor. yani H sütununu göremiyor. caresi varmidir acaba bunun. yoksa formül yerine H sütunu icinde makro mu kullanmam lazim.tesekkür ederim.
 
Son düzenleme:
S

Skorpiyon

Misafir
Aklıma gelen tek yöntem; (denemedim)
Formülleri başka bir sütuna taşıyın. Taşıdığınız veriyi seçip kopyala deyin ve boşalttığınız H sütununa sağ tuş yapıp, özel yapıştır "Değerleri" seçeneğini seçerek deneyin.
 
Katılım
1 Eylül 2005
Mesajlar
283
Excel Vers. ve Dili
microsoft office 2019
merhaba şaban hocam
dün kü dosyaya gözatabildinizmi acaba
 
Katılım
28 Nisan 2008
Mesajlar
406
Excel Vers. ve Dili
Excel 2007- Türkce
Tesekkür ederim Saban bey ilginiz icin. ama olmadi. baska bir sütuna formülleri tasiyip, degerleri H sütununa yapitirdigim zaman girdiler degistigi zaman H sütunundaki degerler kopyaladigim sekilde kaliyor. saygilarimla...
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,599
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Örnek dosya olmadığı için kendimce fonksiyon uydurdum.

D sütununda yine sizin Çift Kayıt Kontrolü yapıyor.
F sütununa siz giriş yapıyorsunuz ve H sütununa formülle değer geliyor.
I sütununda ise sizin istediğiniz çıkarma işlemi makro ile gerçekleşiyor.

İnceleyiniz bakalım olmuş mu?

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [D:D, F:F]) Is Nothing Then Exit Sub
If Target.Column = 4 And Target.Value = "" Then Exit Sub
If Target.Column = 4 Then
    If WorksheetFunction.CountIf(Range("d:d"), Target.Value) >= 2 Then
        MsgBox "[ " & Target.Value & " ] Bu rakamla daha önce kayit yapildi.!", vbCritical, "DIKKAT"
        Target = ""
        Target.Offset(0, 0).Select
    End If
Else
    If Target <> Target.Offset(0, 2) Then
        Target.Offset(0, 3) = Target.Offset(0, -2) - Target
        Target.Offset(0, 3).Interior.ColorIndex = 3
    Else
        Target.Offset(0, 3) = ""
        Target.Offset(0, 3).Interior.ColorIndex = xlNone
    End If
End If
Son:
End Sub
 
Katılım
28 Nisan 2008
Mesajlar
406
Excel Vers. ve Dili
Excel 2007- Türkce
Sn Necdet bey her zaman ki gibi olaya el koydunuz. sonuc s&#252;per. sadece k&#252;c&#252;k bir sorun var. oda makro I s&#252;tununda D-F yapiyor F-H olmasi lazim aslinda. birde m&#252;kerrer kayit hatasi verdikten sonra ok dedikten sonra hatali sayi h&#252;crede kalabilir mi.gerekirse h&#252;cre icini kendim sileyim.otomatik silinmesin yani. tesekk&#252;r ederim. saygilarimla...
 
Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,599
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba Sayın dennisf06,


Aşağıdaki kodları ilgili sayfanın kodu bölümüne kopyalayınız. Umarım sorunuz çözülmüş olur.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [D:D, F:F]) Is Nothing Then Exit Sub
If Target.Column = 4 And Target.Value = "" Then Exit Sub
If Target.Column = 4 Then
    If WorksheetFunction.CountIf(Range("d:d"), Target.Value) >= 2 Then
        MsgBox "[ " & Target.Value & " ] Bu rakamla daha önce kayit yapildi.!", vbCritical, "DIKKAT"
        Target.Offset(0, 0).Select
    End If
Else
    If Target <> Target.Offset(0, 2) Then
        Target.Offset(0, 3) = Target.Offset(0, 2) - Target
        Target.Offset(0, 3).Interior.ColorIndex = 3
    Else
        Target.Offset(0, 3) = ""
        Target.Offset(0, 3).Interior.ColorIndex = xlNone
    End If
End If
Son:
End Sub
 
Katılım
28 Nisan 2008
Mesajlar
406
Excel Vers. ve Dili
Excel 2007- Türkce
siz sayin hocalarimi takdir etmemek m&#252;mk&#252;n m&#252;? bizlerin ardi arkasi kesilmeyen sorularimiza sabirla cevap veriyorsunuz. Tesekk&#252;rler sn Necdet hocam hersey icin. saygilarimla...
 
Üst