• DİKKAT

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

Aynı Satırdaki başka hücreye değer aktarma

Katılım
5 Şubat 2008
Mesajlar
8
Excel Vers. ve Dili
c
Merhabalar,

A1 ve B1 hücrelerideki rakamların çarpım sonucunu , aynı satırda C1 hücresinde yazdığım sayı kadar ilerideki kolona atayan bir yönteme ihtiyacım var.
Yani C1 hücresine 2 yazarsam sonucu E1 e yazsın,4 yazarsam sonucu G1e yazılması gerekli.
Böylece oluşan sonuçlara göre bir matris oluşturacağım.

Yardımlarınız için şimdiden çok teşekkür ederim.
 
Çalışma sayfasının kod modülüne yapıştırınız.:cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target.Offset(0, Target.Value).Value = Target.Value
Target.Value = ""
Application.EnableEvents = True
End Sub
 
E1 hücresine

=EĞER(EĞER((SÜTUN()-3)=$C$1;$A$1*$B$1)=YANLIŞ;"";EĞER((SÜTUN()-3)=$C$1;$A$1*$B$1))

yazıp sağa doğru çekiniz.
 
Çok sağolun hızlı cevabınız için .

Yanlız yazdığım değer sadece C kolonundaki yazılan kolon numarasına a ve bnin carpım sonucunu atmasını nasıl sağlayabilirim.
Kod güzel çelışıyor ancak c ye yazılan doğrudan yazdığım kolona gidiyor.
tşkkrler
 
A1 ve B1 hücrelerideki rakamların çarpım sonucunu , aynı satırda C1 hücresinde yazdığım sayı kadar ilerideki kolona atayan bir yönteme ihtiyacım var.
Yani C1 hücresine 2 yazarsam sonucu E1 e yazsın,4 yazarsam sonucu G1e yazılması gerekli.
Böylece oluşan sonuçlara göre bir matris oluşturacağım

Çok sağolun hızlı cevabınız için .

Yanlız yazdığım değer sadece C kolonundaki yazılan kolon numarasına a ve bnin carpım sonucunu atmasını nasıl sağlayabilirim.
Kod güzel çelışıyor ancak c ye yazılan doğrudan yazdığım kolona gidiyor.
tşkkrler
Son söylediğinizi anlamdım.Ben yazdığım kodda ilk isteğinizi yaptığımı sanıyorum.Yalnız girdiğiniz verinin girdiğiniz yerde kalmasını istiyorsanız aşağıdaki kırmızı satır silin.:cool:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target.Offset(0, Target.Value).Value = Target.Value
[B][COLOR="Red"][SIZE="3"]Target.Value = ""[/SIZE][/COLOR][/B]
Application.EnableEvents = True
End Sub
 
Burda değer girilen dücre yazılacak olan kolon numarasını bildirecek, o kısım çalışıyor.

Fakat yazılan değer hücreye girmiş olduğum değer değilde , kendisine komşu olan başka iki hücrenin değerleri çarpımı sonucu olacak.
 
Burda değer girilen dücre yazılacak olan kolon numarasını bildirecek, o kısım çalışıyor.

Fakat yazılan değer hücreye girmiş olduğum değer değilde , kendisine komşu olan başka iki hücrenin değerleri çarpımı sonucu olacak.
Komşu dediğiniz hemen veriyi girdiğiniz hücrenin yanındaki ilk hücremi?:cool:
 
Evet.
Yani aşağıdaki gibi ödenecek ayı değiştirince gidip ilgili aya ödenecek miktarı yazsın istiyourm.
AYLAR
MALZEME ADI FİYATI ÖDEME YÜZDESİ ÖDENECEK AY 1.AY 2.AY 3.AY 4.AY 5.AY
Kalem 100 5% M3 50
 
Evet.
Yani aşağıdaki gibi ödenecek ayı değiştirince gidip ilgili aya ödenecek miktarı yazsın istiyourm.
AYLAR
MALZEME ADI FİYATI ÖDEME YÜZDESİ ÖDENECEK AY 1.AY 2.AY 3.AY 4.AY 5.AY
Kalem 100 5% M3 50
Ben onu bilemem.İlgiili ay hangi sütunda hangi satırda .Falan ,falan,falan.Dosyanızıda görmedim üstelik.
Ama benim yukarıdaki önermeme evet dediğinize göre onun kodları aşağıdadır.
Öncekilerin hepsini silin bunu yapıştırın.:cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.EnableEvents = False
Target.Offset(0, Target.Value).Value = ""
Target.Offset(0, Target.Value).Value = Target.Value * Target.Offset(0, 1).Value
Application.EnableEvents = True
End Sub
 
Kusura bakmayın biraz karışık oldu, ekli formda yapmak istediğimi yazmaya çalıştım.


Teşekkürler
 

Ekli dosyalar

Sayın Evren Gizlen

Aşağıdaki şekilde istediğim hücreye değeri yazıyor. Ancak bu fonsiyonun SADECE D kolunu (ödenecek ay) için geçerli olmasını nasıl sağlayabilirim?

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.EnableEvents = False
Target.Offset(0, Target.Value).Value = Target.Offset(0, -2) * Target.Offset(0, -1).Value
Application.EnableEvents = True
End Sub
 
Kusura bakmayın biraz karışık oldu, ekli formda yapmak istediğimi yazmaya çalıştım.


Teşekkürler
Pardon bir şey soracam.Bunu merak ediyorum.
Bu sadece sizin için değil.Herkes bunu yapıyor.Soruyu sorarken dosyanızı ilk baştan niye eklemiyorsunuz?
Bir kaç yazışmadan sonra ekliyorsunuz.Bunu anlamıyorum.Oysa soran arkadaşlar ilk baştan ekleseler bir keree yanıt oluşacak.Yanlış anlamayın bunu herkes yapıyor.Oysa forumuzda dosya ekleme kısıntısıda uygulanmıyor.:cool:
 
Sayın Evren Gizlen

Aşağıdaki şekilde istediğim hücreye değeri yazıyor. Ancak bu fonsiyonun SADECE D kolunu (ödenecek ay) için geçerli olmasını nasıl sağlayabilirim?

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.EnableEvents = False
Target.Offset(0, Target.Value).Value = Target.Offset(0, -2) * Target.Offset(0, -1).Value
Application.EnableEvents = True
End Sub
Yani sadece D sütununa veri girdsiğinizdemi kod çalışsın istiyorsunuz?:cool:
 
Çok haklısınız, uyarınız için çok teşekkür ederim.
Bir sürü zaman ve emek harcaması oluor. İlk defa yazıldığından böyle oldu, kusura bakılmasın lütfen.

Evet Kod sadece D kolonu değişikliğinde çalışsın.
tskkrler
 
Dosyanız ektedir.:cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D3:D65536")) Is Nothing Then Exit Sub
On Error Resume Next
Target.Offset(0, Target.Value + 2).Value = ""
If IsNumeric(Target.Value) Then
    Target.Offset(0, Target.Value + 2).Value = Target.Offset(0, -1).Value * Target.Offset(0, -2).Value
End If
End Sub
 

Ekli dosyalar

Pardon bir şey soracam.Bunu merak ediyorum.
Bu sadece sizin için değil.Herkes bunu yapıyor.Soruyu sorarken dosyanızı ilk baştan niye eklemiyorsunuz?
Bir kaç yazışmadan sonra ekliyorsunuz.Bunu anlamıyorum.Oysa soran arkadaşlar ilk baştan ekleseler bir keree yanıt oluşacak.Yanlış anlamayın bunu herkes yapıyor.Oysa forumuzda dosya ekleme kısıntısıda uygulanmıyor.:cool:
Bir sürü zaman ve emek harcaması oluor. İlk defa yazıldığından böyle oldu, kusura bakılmasın lütfen.
Estafurullah.
Zaten ben bunu siizn için söylemedim.Aynen aşağıda söylediklerim gibi.Genel olarak söyledim.:cool:
Ben konuyu şöyle düşünüyorum.
Yanlışta olabilir.
Yaaaa ben soruyu sorayım.Aldığım cevabı nasıl olsa kendime göre uyarlar yaparım.
Ama yapamayınca ,Tabii kazın ayağı öyle olmayınca bu sefer son çare en son hadede dosya yollanıyor.
Bu benim tahminim.
 
Merhaba ,

İhtiyacım olan düzenleme için yeterli cevabımı almıştım fakat düşündükçe farklı ihtiyaclar çıkıyor. :)

Eğer tablomuzda aşağıdaki şekilde 1 den çok satırdan tablonun yan tarafına atama yapacak olduğumuzda ben işin içinden çıkamadım. Yani belirlenen her aydaki oranda yan tarafa değere ataması yapılması gerekmekte.

Kıymetli yardımlarınız rica.
 

Ekli dosyalar

Merhaba ,

İhtiyacım olan düzenleme için yeterli cevabımı almıştım fakat düşündükçe farklı ihtiyaclar çıkıyor. :)

Eğer tablomuzda aşağıdaki şekilde 1 den çok satırdan tablonun yan tarafına atama yapacak olduğumuzda ben işin içinden çıkamadım. Yani belirlenen her aydaki oranda yan tarafa değere ataması yapılması gerekmekte.

Kıymetli yardımlarınız rica.

Dosyanız ektedir.:cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D3:D65536,F3:F65536,H3:H65536,J3:J65536")) Is Nothing Then Exit Sub
On Error Resume Next
If IsNumeric(Target.Value) Then
    Range("K" & Target.Row & ":V" & Target.Row).Value = ""
    Range("K" & Target.Row).Offset(0, Target.Value - 1) = Target.Offset(0, -1).Value * Cells(Target.Row, "B").Value
End If
End Sub
 

Ekli dosyalar

Geri
Üst