hücre dolu ise formül yaz

Katılım
25 Eylül 2011
Mesajlar
119
Excel Vers. ve Dili
2003-2007-2010 türkçe
Altın Üyelik Bitiş Tarihi
17-06-2025
Arkadaşlar merhaba.
Binlerce formül olan excel sayfamız var ve artık dosya iyice şişmeye başladı. Siteyi de başka siteleri de detaylıca aradım ancak doğru cümleyi yazmadığımdan da olabilir bir türlü bir sonuca varamadım. Eminim bu konudan muzdarip çok insan vardır. Sorum şu; formülü binlerce hücreye kopyalamak yerine hücreye veri girildiğinde şu formülü uygula gibi bir şey olabilir mi?

Örnek:

a1 hücresine 5 yazdık, b1 hücresine 3 yazdık, c1 hücresine topla a1 + b1 in formülünü yazdık. c1 hücresine a1 ile b1 i toplamış olduk. şimdi c1 hücresinden tutup binlerce satır formülü indirecem ki a2 ve b2 hücresine veri girilince formül çalışsın. Bunun yerine bir makro veya bir kod veya formül olabilir a2 ve b2 hücresi dolu olduğunda c2 hücresine toplama yapsın ancak aşağıya doğru formül çekme işlemi olmasın. Umarım anlatabilmişimdir. Hoşçakalın.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,100
Excel Vers. ve Dili
2013 64Bit
English
Sorunuz ve açıklamalarınız çerçevesinde;
Sayfanızın yapısı, formüllerin işleyişi, sırası, hesaplama yapıp yapmadığı, hücrelerin değişmesiyle değişen diğer hücreler ve buna benzerveya farklı bir çok sebeple;
Formüller yerine makro kullanılabilir, veya ikisi de (gerekliyse) kullanılabilir.
Bu nedenle;
Öncelikle excel dosyanızın sadeleştirilmiş bir örneğini eklerseniz, daha hızlı ve doğru cevap bulabilirsiniz.
Örnek excel dosya eklemek hakkında bilgi için:
https://www.excel.web.tr/threads/soru-ile-ilgili-oernek-excel-dosyasi-ekleme.174755/
bakınız.
 
Katılım
25 Eylül 2011
Mesajlar
119
Excel Vers. ve Dili
2003-2007-2010 türkçe
Altın Üyelik Bitiş Tarihi
17-06-2025
Sorunuz ve açıklamalarınız çerçevesinde;
Sayfanızın yapısı, formüllerin işleyişi, sırası, hesaplama yapıp yapmadığı, hücrelerin değişmesiyle değişen diğer hücreler ve buna benzerveya farklı bir çok sebeple;
Formüller yerine makro kullanılabilir, veya ikisi de (gerekliyse) kullanılabilir.
Bu nedenle;
Öncelikle excel dosyanızın sadeleştirilmiş bir örneğini eklerseniz, daha hızlı ve doğru cevap bulabilirsiniz.
Örnek excel dosya eklemek hakkında bilgi için:
https://www.excel.web.tr/threads/soru-ile-ilgili-oernek-excel-dosyasi-ekleme.174755/
bakınız.
hocam haklısınız örnek ekledim içeriğinde detaylı anlatmaya çalıştım. Umarım üstadlardan istediğime uyacak şekilde cevaplar alabilirim. İyi çalışmalar.
 

Ekli dosyalar

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,986
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
Diğer cevapları incelemedim.

Veri girişinin elle yapıldığını varsaydım ve dolaysıyla işlem için düğme kullanılmasına gerek olmadığını düşündüm.
Alt taraftan uygulamanın yapılacağı sayfa adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
açılacak VBA ekranında sağdaki boş alana aşağıdaki kod'u yapıştırın.
Kod A, B, C ve D sütunu dolu ise istenileni yapar.
Diyelim bir satırda B5, C5, D5'e veri yazdınız başka bir satırda A8, B8, D8'e veri yazdınız;
boş olan hücrelere (A5 veya C8) veri yazıldığında istenilen işlem gerçekleşir.
-- Dolu bir hücredeki veri değiştirildiğinde de sorunsuz işlem yapılır.
-- Bir satırda A,B, C veya D sütunundaki değer silinirse K sütunundaki değer de silinir.
Rich (BB code):
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 5 Then
    Cells(Target.Row, "K").ClearContents
    If WorksheetFunction.CountBlank(Range("A" & Target.Row & ":D" & Target.Row)) = 0 Then
        [K2].Copy: Cells(Target.Row, "K").PasteSpecial Paste:=xlPasteFormulas
        Application.CutCopyMode = False: End If
End If
End Sub
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,378
Excel Vers. ve Dili
2019 TR
Merhaba,
Alternatif olarak bende bir örnek paylaşmak istedim. :)
Düğme ile yapmak isterseniz, aşağıdaki kodları da kullanabilirsiniz.
Kod:
Sub carp()
Application.ScreenUpdating = False
For x = 2 To Cells(Rows.Count, 1).End(3).Row
  
    If Cells(x, 1).Value <> "" Then
    Cells(x, 11).Value = Cells(x, 3).Value * Cells(x, 4).Value
    ElseIf Cells(x, 1).Value = "" Then
    Cells(x, 11).Value = Empty
    End If
    Next x

    x = Empty
Application.ScreenUpdating = True
End Sub
 
Katılım
25 Eylül 2011
Mesajlar
119
Excel Vers. ve Dili
2003-2007-2010 türkçe
Altın Üyelik Bitiş Tarihi
17-06-2025
Cevaplarınız için çok teşekkür ederim ancak ömer baran ufkumu açtı.
Ömer bey Cells(Target.Row, "K").ClearContents bu kodda k sütununu siliyor k ile z arasındaki sütunları temizlemek istersek Cells(Target.Row, "K:Z").ClearContents mi yapacaz
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,986
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
A,B,C ve D sütununda işlem yapıldığında, işlem yapılan satırdaki K sütunu hücresi (tek hücre) içeriği siliniyor.
Sadece K değil K-Z arası silinmek isteniyorsa (tabi işlem yapılan sütun A,B,C veya D ise);
Range("K" & Target.Row & ":Z" & Target.Row).ClearContents şeklinde yazılmalıdır.
.
 
Katılım
25 Eylül 2011
Mesajlar
119
Excel Vers. ve Dili
2003-2007-2010 türkçe
Altın Üyelik Bitiş Tarihi
17-06-2025
Ömer bey teşekkür ederim tam istediğim gibi uyarlayabildim sayenizde yeni şeylerde öğrenmiş olduk kalın sağlıcakla.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,986
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Kolay gelsin.
 
Üst