• DİKKAT

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

Cikarma isleminin makrosu

Katılım
28 Nisan 2008
Mesajlar
406
Excel Vers. ve Dili
Excel 2007- Türkce
I sütunu boyunca basit bir cikarma islemi yapiyorum. hücre degeri sifira esit degilse kosullu bicimlendirme ile kirmizi oluyor. sifira esitse hücre rengi degismiyor hücre bos görünüyor.( hücrede 0 yazmiyor. ) bu basit islemi formül+kosullu bicimlendirme kullanmadan makro ile nasil yapabilirim acaba. tesekkür ederim.
 
tesekkür ederim ilginize. formül ve kosullu bicimlendirme kullanmadan sadece makro ile nasil yapabilirim acaba. örnek dosyanizda hem formül var hemde kosulu bicimlendirme.
 
Merhaba,

İstediğinizin veri giriş sırasında olmasını istiyorsanız eğer :

Aşağıdaki kodların ilgili sayfanın kod bölümünde olması gerekir.


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [H:H]) Is Nothing Then Exit Sub
If Target <> Target.Offset(0, -2) Then
    Target.Offset(0, 1) = Target.Offset(0, -2) - Target
    Target.Offset(0, 1).Interior.ColorIndex = 3
Else
    Target.Offset(0, 1) = ""
    Target.Offset(0, 1).Interior.ColorIndex = xlNone
End If
Son:
End Sub
 
Son düzenleme:
&#351;aban hocam
d&#246;rt i&#351;lem i&#231;in nas&#305;l olur.yani matematiksel form&#252;ller yerine makro.
 
Say&#305;n masuk500,

G&#252;zel olur :)

&#350;aka bir yana sorunuzu tam olarak anlayamad&#305;m. Sayfada d&#246;rt i&#351;lem i&#231;in form&#252;ller yerine makro mu kullanmak istiyorsunuz ?
 
evet &#231;ok g&#252;zel ifade ettiniz nedenine gelince hem h&#305;z a&#231;&#305;s&#305;ndan hemde dosyay&#305; bir tek ben kullanmad&#305;&#287;&#305;mdan dolay&#305;
 
Say&#305;n masuk500,

&#304;stedi&#287;inize dair bir &#246;rnek ekleyin, yap&#305;p yapamayaca&#287;&#305;m&#305;za bir bakal&#305;m.
 
dosya ektedir örneğin müstahsilgiriş sayfasındaki formüller
 
Say&#305;n masuk500,

&#304;stedi&#287;iniz yap&#305;labilir san&#305;yorum. Yaln&#305;z bu gece &#231;ok ge&#231; oldu. Daha m&#252;sait bir zamanda bakar, yap&#305;p yapamayaca&#287;&#305;m&#305;z&#305; burdan bildiririz.
 
tabi ne demek &#351;aban hocam
ben asl&#305;nda forumda a&#231;&#305;lan bir ba&#351;l&#305;kta bu konu ile uygulama vard&#305;,onu denedim ama bu defada dosya &#231;ok a&#287;&#305;rla&#351;t&#305;.bundan dolay&#305; vazge&#231;mi&#351;tim.ikinci olarak userform kullanarak yapmaya &#231;al&#305;&#351;t&#305;m onuda beceremedim a&#231;&#305;k&#231;as&#305;.hersayfada binlerce form&#252;l var oda dosyay&#305; a&#287;&#305;rla&#351;t&#305;ryor.bu y&#252;zden kod olsa h&#305;zlan&#305;r d&#252;&#351;&#252;ncesindeyim.belkide yan&#305;l&#305;yorum.....
 
Sn Necdet ve Sn Saban hocam ikinizede cok tesekk&#252;r ederim. yalniz Necdet bey sizin yazdiginiz kodlarda s&#246;yle bir problemle karsilastim. ayni sayfada iki tane Private Sub Worksheet_Change(ByVal Target As Range) ile baslayan makro oldu. bu y&#252;zden sanirim kodlar islemi gerceklestirmedi. ismini degistirmeye calistim gene olmadi. ne yapmam gerekiyor acaba.
 
Son düzenleme:
&#214;nceki makronuzu da eklerseniz, ikisini birbirine uyarlamaya &#231;al&#305;&#351;abiliriz.
 
merhaba Sn. Saban bey. kodlar asagidaki gibidir.

1.kod mükerrer kayit icin. D sütununda ayni rakam girisi olunca uyari veriyor.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [d:d]) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
On Error GoTo Son
If WorksheetFunction.CountIf(Range("d:d"), Target.Value) >= 2 Then
MsgBox "[ " & Target.Value & " ] Bu rakamla daha önce kayit yapildi.!", vbCritical, "DIKKAT"
End If
Son:
End Sub

2.kod Sn Necdet hocamiza ait.
Private Sub Worksheet_Changea(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [H:H]) Is Nothing Then Exit Sub
If Target <> Target.Offset(0, -2) Then
Target.Offset(0, 1) = Target.Offset(0, -2) - Target
Target.Offset(0, 1).Interior.ColorIndex = 3
Else
Target.Offset(0, 1) = ""
Target.Offset(0, 1).Interior.ColorIndex = xlNone
End If
Son:
End Sub
 
Say&#305;n dennisf06,

Ben kontrol etmedim ama (i&#351;in kolay&#305;na ka&#231;arak) a&#351;a&#287;&#305;daki &#351;ekilde bir dener misiniz.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [d:d]) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
On Error GoTo Son
If WorksheetFunction.CountIf(Range("d:d"), Target.Value) >= 2 Then
MsgBox "[ " & Target.Value & " ] Bu rakamla daha &#246;nce kayit yapildi.!", vbCritical, "DIKKAT"
End If
If Intersect(Target, [H:H]) Is Nothing Then Exit Sub
If Target <> Target.Offset(0, -2) Then
Target.Offset(0, 1) = Target.Offset(0, -2) - Target
Target.Offset(0, 1).Interior.ColorIndex = 3
Else
Target.Offset(0, 1) = ""
Target.Offset(0, 1).Interior.ColorIndex = xlNone
End If
Son:
End Sub
 
Say&#305;n dennisf06,

A&#351;a&#287;&#305;daki &#351;ekilde deneyin.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [d:d]) Is Nothing Then GoTo 20
If Target.Value = "" Then Exit Sub
On Error GoTo Son
If WorksheetFunction.CountIf(Range("d:d"), Target.Value) >= 2 Then
MsgBox "[ " & Target.Value & " ] Bu rakamla daha &#246;nce kayit yapildi.!", vbCritical, "DIKKAT"
End If
20
If Intersect(Target, [H:H]) Is Nothing Then Exit Sub
If Target <> Target.Offset(0, -2) Then
Target.Offset(0, 1) = Target.Offset(0, -2) - Target
Target.Offset(0, 1).Interior.ColorIndex = 3
Else
Target.Offset(0, 1) = ""
Target.Offset(0, 1).Interior.ColorIndex = xlNone
End If
Son:
End Sub
 
Geri
Üst