• DİKKAT

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

boş satırlara veri girişi yaptıkça formül kopyalama

Katılım
5 Ağustos 2010
Mesajlar
126
Excel Vers. ve Dili
office excel 2003/2007
merhaba arkadaşlar;
"H2" hücresineki
Kod:
=EĞER(BAĞ_DEĞ_DOLU_SAY(B2:D2)= 0;"";(B2+(B2=""))*(C2+(C2=""))*(D2+(D2=""))*(E2+(E2=""))*EĞERHATA(EĞER(MBUL("m?nha";A2);-1;1);1))
formülümü belirli bir seviyeye kadar çektiğimde; belge açılırken, işlem yaparken ve kapatırken çok kasmalar oluyor. Ayrıca satırlar arasına satır eklediğim zaman formül o satırda kayboluyor.
İsteğim bu formülün a:e satırlarından herhangi birine bir veri girdiğimde, o satırın "H" sütununa kopyalanması ve yeni bir satır ekleyip veri girdiğimde de aynı işlemin devam etmesi. satırları genelde atlamadan gidiyorum. Veri olan satırlarda formülün otomatik kopyalanması ve sonucu vermesidir amacım.

bir de bu formülün kısa yazımı olabilir mi? burdaki esas amacım a:e hücrelerinin direk çarpılması; a2 hücresinde minha (mınha, MINHA yada MİNHA da olabilir) yazıyorsa değerin negatif alınması ve hiç bir değer yoksa 0(sıfır) yazmaması hücrenin boş görünmesi.

İlave bir rica; eğer hücrenin birine mesela c2 hücresine 15 yerine 3*5 yaparsam excelin bunu çarpıp 15 olarak almasını nasıl sağlarım.
 
Son düzenleme:
acaba makro-vba konu başlığına mı yazmalıydım?
 
dosya eklemeden çözüm bulmak zor sanırım ama dosya nasıl ekleyebilirim?
 
Ekle menüsündeki TABLO özelliği işinize yarayabilir. Bu özellik sayesinde gereksiz yere boş hücrelere formül uygulamanıza gerek kalmaz. Böylece dosyanızdaki kasmalar azalacaktır.
 
acaba bu işlemi nasıl gerçekleştirebilirim. tablo hakkında pek bilgim yok bir kaç örnek izledim ama anlayamadım.
 
Neden yapamadığımı çözdüm sanırım. Belirli satır aralıklarında çalışıyorum ve yeni satıra veri girdiğimde malesef tablo aşağı eklenmiyor. Dosyayı göndereyim bir bakın isterseniz. Sayfayı Sınırla butonu var. A:E sütunları arasında çalışıyorum gelende. Bazen daha dar alanda da çalıştığım oluyor. Bu makroyu da entere bastığımda sürekli sağa gidip(enter sağa ayarlı) E sütununa geldiğinde bir alt satır A sütununa gelmesi için kullanıyorum.

Diğer sorduğum sorularla ilgili de yardımcı olabilir misiniz?
 

Ekli dosyalar

"Sayfa1" isimli sayfanızın adı üzerinde sağ tıklayın ve "KOD GÖRÜNTÜLE" seçeneğini seçin.

Açılan pencereye aşağıdaki kodu uygulayın. Sayfaya dönüp A-E aralığına veri girip denemeler yapın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Son
    If Intersect(Target, Range("A2:E" & Rows.Count)) Is Nothing Then Exit Sub
    If Target.Column = 3 Then
        Target = Evaluate("=" & Replace(Target.Value2, ",", "."))
    End If
    Veri = UCase(Replace(Replace(Cells(Target.Row, 1), "i", "İ"), "ı", "I"))
    If Veri Like "*MINHA*" Or Veri Like "*MİNHA*" Then
        Cells(Target.Row, "F") = WorksheetFunction.Product(Range("B" & Target.Row & ":E" & Target.Row)) * -1
    Else
        Cells(Target.Row, "F") = WorksheetFunction.Product(Range("B" & Target.Row & ":E" & Target.Row))
    End If
Son:
End Sub
 
Sn. Korhan Ayhan verdiğiniz kodu kullandım ancak herhangi bir işlem yapmadı. Kodun görevini malesef tam anlayamadım.
 
Nasıl anlamadınız...

Sizin dosya içinde yazdıklarınızı koda çevirdim.

A-E aralığına veri girip denemeler yapın yorumunu görmediniz sanırım.

C sütununa işlemi yazıp hücreyi terk ettiğinizde değere dönüşecektir.

Diğer sütunlara veri girdiğinizde ise "F" sütunundaki formülü değere çevirecektir.
 
benim isteklerim biraz fazla olunca hangi komut için yazdığınızı anlayamadım. Yorumunuzu gördüm a:e arasına değer de girdim. C sütununa işlemi de yazdım diğer sütunlara değerleri de girdim ancak hiç bir işlem olmadı. Siz bunu gönderdiğim dosyada denediniz ve başarılı olduysanız ben de bir hata var ama dediklerinizi de harfiyen yaptım sanıyorum.
 
Korhan bey dosyayı da gönderiyorum belki benim görmediğim hata yaptığım bir şey vardır.
 

Ekli dosyalar

Dosyada bir sorun görünmüyor. Bende gayet sağlıklı çalışıyor.
 
Benim gönderdiğim dosyayı açtınız ve çalışıyor mu? Rica etsem sizdeki sorunsuz çalışan dosyayı paylaşır mısınız benimle? Sanırım ben bir yerde yanlış yapıyorum.
 
Örnek dosya ektedir. Mavi renkli satırı örnek olsun diye ben işledim. Problem yaşmadan hesaplama yaptı.

Siz 2007 kullanıyorsunuz sanırım. Belki bundan dolayı sorun yaşıyor olabilirsiniz.
 

Ekli dosyalar

evet 2007 kullanıyorum ama gönderdiğiniz dosyada gerçekten hiç bir sorun yok ilginç :) neden oldu bu anlamadım. Yalnız hücreye 15 yerine 3*5 yazdım işlem yapmadı. siz de bu işlemi de yapıyor mu? gönderdiğiniz dosyada denedim olmadı.
 
Korhan bey sorunu çözdüm. hücre içi 4 işlemi sadece c sütununda yapıyormuş bunu b:e sütunlarını kapsayacak şekilde düzenlemek için ne yapmalıyım? Bu arada elinize sağlık çok güzel olmuş.
 
Aşağıdaki kodu deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Son
    If Intersect(Target, Range("A2:E" & Rows.Count)) Is Nothing Then Exit Sub
    If Target.Column >= 2 And Target.Column <= 5 Then
        Target = Evaluate("=" & Replace(Target.Value2, ",", "."))
    End If
    Veri = UCase(Replace(Replace(Cells(Target.Row, 1), "i", "İ"), "ı", "I"))
    If Veri Like "*MINHA*" Or Veri Like "*MİNHA*" Then
        Cells(Target.Row, "F") = WorksheetFunction.Product(Range("B" & Target.Row & ":E" & Target.Row)) * -1
    Else
        Cells(Target.Row, "F") = WorksheetFunction.Product(Range("B" & Target.Row & ":E" & Target.Row))
    End If
Son:
End Sub
 
Geri
Üst