Girilen Degeri Diger Hucreden Cikarma islemi

Katılım
23 Eylül 2024
Mesajlar
6
Excel Vers. ve Dili
surum 2409
Merhabalar Kolay Gelsin,

Excelde Gunluk kullanilan malzemelerimi hucreye giris yaptigimda, diger toplam stogu gosteren hucreden girilen adeti dusmesini istiyorum.

Ornegin;

A1: 0, C1:15

A1 ve C1 sutunlarindaki degerler yukaridaki gibidir.

A1 sutununa veriyi 5 olarak girdigimde C1 sutununun vermesi gereken sonuc 10 olmasini istiyorum. yani girilen deger stoktan eksilsin.

Yardiminiz icin tesekkurler simdiden. umarim anlatabilmisimdir.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

C1 hücresindeki değer elle yazılmış bir değerse istediğiniz işlem için makro kullanmanız gerekir.
 
Katılım
23 Eylül 2024
Mesajlar
6
Excel Vers. ve Dili
surum 2409
Merhabalar,

Bu makro kodunu nasil yazabilirim?

ornegin C1=C1-A1 istedigim sonucu verecektir
bunu nasil kodlamaya dokebilirim fikri olan varsa yardimci olabilir mi?
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,170
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;
Sayfanın kod bölümüne;

Private Sub Worksheet_Change(ByVal Target As Range)
sat = Target.Row
süt = Target.Column
If sat = 1 And süt = 1 Then
Cells(sat, "c") = Cells(sat, "c") - Cells(sat, "a")
End If
End Sub

Kodlarını yerleştirin ve deneyin.
İyi çalışmalar.
 
Katılım
23 Eylül 2024
Mesajlar
6
Excel Vers. ve Dili
surum 2409
Merhaba;
Sayfanın kod bölümüne;

Private Sub Worksheet_Change(ByVal Target As Range)
sat = Target.Row
süt = Target.Column
If sat = 1 And süt = 1 Then
Cells(sat, "c") = Cells(sat, "c") - Cells(sat, "a")
End If
End Sub

Kodlarını yerleştirin ve deneyin.
İyi çalışmalar.
Merhaba,
Ilgi ve alakaniz icin tesekkurler.
Kodlari kopyaladim ve olusturdugum yeni makro ekranina yapistirdim. fakat hata aliyorum tam olarak kodlari nerede calistirmam gerekiyor?
 

ccuneyt13

Altın Üye
Katılım
20 Ocak 2011
Mesajlar
366
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
01-11-2026
Merhaba,
Sn. muygun'un verdiği kodları kopyalayın, bir excel açıp Sayfa1 yazan yere sağ tık yapıp "Kod Görüntüle" ile açılan yere kodları yapıştırın.
Sonra Sayfa1 C1 hücresine örneğin 100 yazın, daha sonra A1 hücresine 10 yazın, C1'den yani 100'den 10 eksilttiğini göreceksiniz. A1'e tekrar 20 yazın, bu kez kalan 90 dan 20 eksilttiğini göreceksiniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Alternatif...

İşlemi yapmak istediğiniz sayfa ismi üzerinde sağ tıkladıktan sonra KOD GÖRÜNTÜLE komutunu çalıştırın. Karşınıza gelen pencereye kodu yapıştırın.

Sonrasında A1 hücresine sayısal değer girip denemeler yapınız.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
    If Not IsEmpty(Target) And IsNumeric(Target) Then
        Range("C1").Formula = "=" & Replace(Range("C1").Formula, "=", "") & "-" & Replace(Target.Value, ",", ".")
    End If
End Sub

Harici Link (Silinebilir) ; https://s6.dosya.tc/server21/cf5vmd/Book1.xlsm.html
 

Ekli dosyalar

Katılım
23 Eylül 2024
Mesajlar
6
Excel Vers. ve Dili
surum 2409
Merhabalar tekrardan,

Herkesin emegine saglik tesekkur ederim. Her bir yorum isime yaradi hallettim sayenizde. Fakat bu formulu sadece bir hucerede kullanabiliyorum. bunu daha fazla hucreye yaymak icin kod da ne gibi eklemeler yapmam lazim. simdiden tesekkurler..
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Benim önerimde aşağıdaki satırı;

If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub

Aşağıdaki gibi değiştirip aralık tanımlayabilirsiniz.

If Intersect(Target, Range("A1:A100")) Is Nothing Then Exit Sub
 
Katılım
23 Eylül 2024
Mesajlar
6
Excel Vers. ve Dili
surum 2409
Benim önerimde aşağıdaki satırı;

If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub

Aşağıdaki gibi değiştirip aralık tanımlayabilirsiniz.

If Intersect(Target, Range("A1:A100")) Is Nothing Then Exit Sub

Hocam elinize emeginize saglik, kodlar harika calisiyor fakat ben durumu yanlis izah ettim. simdi ben gunluk bir cok ayri malzemenin stok raporlarini giriyorum. Dolayisiyla A1 hucresine girdigim deger C1 hucresinden eksilsin, A2 hucresine girdigim deger C2 hucresinden eksilsin, A3 hucresine girdigim deger C3 hucresinden eksilsin istiyorum yani bu sekilde devam ediyor. Kodlari alt alta yapistirip yaptiginiz gibi kendi hucrelerime uyarlayip denedim fakat o sekilde olmadi son bir rutus daha yapabilirseniz cok makbule gecer efendim, tesekkurler simdiden.
 
Katılım
23 Eylül 2024
Mesajlar
6
Excel Vers. ve Dili
surum 2409
Herkese Tesekkurler Istedigim kodlari buldum, Yardimci olan herkese tesekkurler.. Kodlara ihtiyaci olan olursa asagidaki gibidir. Kolay gelsin..

Private Sub Worksheet_Change(ByVal Target As Range)
Dim kullanilan_hucre As Range
Dim stok_hucre As Range

' Degisiklik yapilan hücrenin A sütununda olup olmadigini kontrol eder
If Not Intersect(Target, Me.Range("B:B")) Is Nothing Then
Application.EnableEvents = False

' A sütununda degisiklik yapilan hücreyi bulur
For Each kullanilan_hucre In Target
' Ayni satirdaki C sütunundaki hücreyi bulur2
Set stok_hucre = Me.Cells(kullanilan_hucre.Row, 4)

' Stok hücresinden kullanilan malzemeyi çikarir
If IsNumeric(kullanilan_hucre.Value) And IsNumeric(stok_hucre.Value) Then
stok_hucre.Value = stok_hucre.Value - kullanilan_hucre.Value
End If
Next kullanilan_hucre

Application.EnableEvents = True
End If
End Sub
 
Üst