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.
 
Katılım
28 Nisan 2008
Mesajlar
406
Excel Vers. ve Dili
Excel 2007- Türkce
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.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,599
Excel Vers. ve Dili
Ofis 365 Türkçe
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:
Katılım
1 Eylül 2005
Mesajlar
283
Excel Vers. ve Dili
microsoft office 2019
&#351;aban hocam
d&#246;rt i&#351;lem i&#231;in nas&#305;l olur.yani matematiksel form&#252;ller yerine makro.
 
S

Skorpiyon

Misafir
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 ?
 
Katılım
1 Eylül 2005
Mesajlar
283
Excel Vers. ve Dili
microsoft office 2019
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;
 
S

Skorpiyon

Misafir
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.
 
Katılım
1 Eylül 2005
Mesajlar
283
Excel Vers. ve Dili
microsoft office 2019
dosya ektedir örneğin müstahsilgiriş sayfasındaki formüller
 
S

Skorpiyon

Misafir
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.
 
Katılım
1 Eylül 2005
Mesajlar
283
Excel Vers. ve Dili
microsoft office 2019
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.....
 
Katılım
28 Nisan 2008
Mesajlar
406
Excel Vers. ve Dili
Excel 2007- Türkce
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:
S

Skorpiyon

Misafir
&#214;nceki makronuzu da eklerseniz, ikisini birbirine uyarlamaya &#231;al&#305;&#351;abiliriz.
 
Katılım
28 Nisan 2008
Mesajlar
406
Excel Vers. ve Dili
Excel 2007- Türkce
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
 
S

Skorpiyon

Misafir
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
 
S

Skorpiyon

Misafir
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
 
Üst