• DİKKAT

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

Hücre Doluysa Formül Uygulasın

Katılım
24 Temmuz 2019
Mesajlar
181
Excel Vers. ve Dili
2010 ve 2016 Türkçe
Merhaba arkadaşlar.
Excel tablosundaki E1 den sonraki sütunlarda herhangi bir metin içeren değer girildiyse Aşağıdaki sütunlara aşağıdaki formülleri uygulasın istiyorum. Formüldeki düşeyaradaki aranan değerin satır numarası ise formülü uyguladığı hücrenin satır numarası olması gerekir.

Kod:
H Sütunu: =EĞERHATA(DÜŞEYARA($E30;DATA!$A$2:$B$20;2;0);)

I Sütunu:  =EĞERHATA(DÜŞEYARA($E30;DATA!$A$2:$C$20;3;0);)

J Sütunu: =EĞERHATA(DÜŞEYARA($E30;DATA!$A$2:$D$20;4;0);)

Örneğin,
E10 hücresine "ASUS" yazınca otomatik olarak aşağıdaki sütunlara aşağıdaki şekilde formül eklemeli. Eğerki ASUS yazısını silersemde formülü silmeli arkadaşlar.

Kod:
H10: =EĞERHATA(DÜŞEYARA($E10;DATA!$A$2:$B$20;2;0);)

I10:  =EĞERHATA(DÜŞEYARA($E10;DATA!$A$2:$C$20;3;0);)

J10: =EĞERHATA(DÜŞEYARA($E10;DATA!$A$2:$D$20;4;0);)

Şimdiden teşekkür ederim.
 
Edit:
Arkadaşlar,
Makro formülü uyguladıktan sonra hücreye sadece değeri yapıştırabilir mi? Yani formül gidecek bulduğu değerler kalacak sadece.
Örnek dosya ektedir.
 

Ekli dosyalar

Son düzenleme:
Merhaba
Aşağıdaki kodları ilgili sayfanın kod penceresine ekleyerek denermisiniz?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column <> 5 Then Exit Sub
If .Value <> "" Then
Cells(.Row, "H").FormulaR1C1 = "=IFERROR(VLOOKUP(RC5,DATA!R2C1:R20C2,2,0),)"
If Cells(.Row, "H").Value <> "" Then Cells(.Row, "H").Value = Cells(.Row, "H").Value
Cells(.Row, "I").FormulaR1C1 = "=IFERROR(VLOOKUP(RC5,DATA!R2C1:R20C3,3,0),)"
If Cells(.Row, "I").Value <> "" Then Cells(.Row, "I").Value = Cells(.Row, "I").Value
Cells(.Row, "J").FormulaR1C1 = "=IFERROR(VLOOKUP(RC5,DATA!R2C1:R20C4,4,0),)"
If Cells(.Row, "J").Value <> "" Then Cells(.Row, "J").Value = Cells(.Row, "J").Value
End If: End With
End Sub
Eğer "0" iken formülün kalması gerek ise kodlardaki
If Cells(.Row, "H").Value <> "" Then
satırları yerine
If Cells(.Row, "H").Value <> "0" Then
 
Merhaba
Aşağıdaki kodları ilgili sayfanın kod penceresine ekleyerek denermisiniz?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column <> 5 Then Exit Sub
If .Value <> "" Then
Cells(.Row, "H").FormulaR1C1 = "=IFERROR(VLOOKUP(RC5,DATA!R2C1:R20C2,2,0),)"
If Cells(.Row, "H").Value <> "" Then Cells(.Row, "H").Value = Cells(.Row, "H").Value
Cells(.Row, "I").FormulaR1C1 = "=IFERROR(VLOOKUP(RC5,DATA!R2C1:R20C3,3,0),)"
If Cells(.Row, "I").Value <> "" Then Cells(.Row, "I").Value = Cells(.Row, "I").Value
Cells(.Row, "J").FormulaR1C1 = "=IFERROR(VLOOKUP(RC5,DATA!R2C1:R20C4,4,0),)"
If Cells(.Row, "J").Value <> "" Then Cells(.Row, "J").Value = Cells(.Row, "J").Value
End If: End With
End Sub
Eğer "0" iken formülün kalması gerek ise kodlardaki
If Cells(.Row, "H").Value <> "" Then
satırları yerine
If Cells(.Row, "H").Value <> "0" Then
Desteğiniz için teşekkür ederim ama çalışmadı. Module ün içine yapıştırdım direkt.
 
Çok teşekkür ederim. İşe yaradı. Aşağıdaki şekilde kendim güncelleyerek E hücresinde silme işlemi gerçekleştirdiğimde H,I,J sütunlarındaki verileri de silmesini sağladım.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column <> 5 Then Exit Sub
If .Value <> "" Then
Cells(.Row, "H").FormulaR1C1 = "=IFERROR(VLOOKUP(RC5,DATA!R2C1:R20C2,2,0),)"
If Cells(.Row, "H").Value <> "" Then Cells(.Row, "H").Value = Cells(.Row, "H").Value
Cells(.Row, "I").FormulaR1C1 = "=IFERROR(VLOOKUP(RC5,DATA!R2C1:R20C3,3,0),)"
If Cells(.Row, "I").Value <> "" Then Cells(.Row, "I").Value = Cells(.Row, "I").Value
Cells(.Row, "J").FormulaR1C1 = "=IFERROR(VLOOKUP(RC5,DATA!R2C1:R20C4,4,0),)"
If Cells(.Row, "J").Value <> "" Then Cells(.Row, "J").Value = Cells(.Row, "J").Value
Else
Cells(.Row, "H").ClearContents
Cells(.Row, "I").ClearContents
Cells(.Row, "J").ClearContents
End If: End With
End Sub
 
Geri
Üst