• DİKKAT

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

Satır silinmesi ve seçenek azalması

Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
Merhaba;
çalışma sayfamda 5 inci satırdan itibaren eşleşen satırlar
Kod:
Sub aktarsil()
    Range("A5:G5").Select
Application.ScreenUpdating = False: Application.Calculation = xlCalculationManual
    Selection.Copy
    Sheets("EXSTRA").Select
    Application.Goto Reference:="R9999C1"
    Selection.End(xlUp).Select
    ActiveCell.Offset(1, 0).Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveCell.Offset(1, 0).Range("A1").Select
    Sheets("AKTAR").Select
    Application.CutCopyMode = False
    Rows("5:5").Select
    Selection.Delete Shift:=xlUp
    Range("C2:E2").Select
Application.ScreenUpdating = True: Application.Calculation = xlCalculationAutomatic

End Sub
makro ile EXSTRA çalışma sayfasına aktarılıp siliniyor.
Bu aşamada =SOLDAN(EĞER(A2="";"";İNDİS(B2:B40;KAÇINCI(A2;H2:H450;0)));15)
makro B2 hücresinde sabit duruyor ancak satır silindiği için formüldeki B2:B40 yazan hücre, satır silindikçe B2:B39---38---37 gibi düşüyor. Satır silindikçe B2:40 şeklinin bozulmamasını nasıl sağlayabilirim. Çalışmayı hazırlarken parça parça olduğu için makro ve formüllerin yeri oldukça karışık. Bu yüzden özet bir çalışma sayfası yükleyemedim.
Buradaki sorunum satır silindiğinde ilk ve son satır numarasının sabit kalması. Her ne kadar $ işareti ile sabitlesem de değişen bir şey olmuyor.
 

Ekli dosyalar

  • MAKRO ÖRNEK.jpg
    MAKRO ÖRNEK.jpg
    225.6 KB · Görüntüleme: 4
Merhaba,
Mevcut kodunuzda "End Sub" satırından önce aşağıdaki kodu ekleyerek dener misiniz?
Range("B2") = "=LEFT(IF(RC[-1]="""","""",INDEX(RC:R[38]C,MATCH(RC[-1],RC[6]:R[448]C[6],0))),15)"
 
Teşekkürler, verdiğiniz kod bir formülün sorununu çözmüş oldu.
Bu kod bir formülü sabitlemiş oldu ancak satır silindiğinde etkilenen 3 formül daha var.
=EĞER($A$2="";"";İNDİS($A$5:$A$45;KAÇINCI($A$2;$H$5:$H$1000;0)))
=EĞER($A$2="";"";İNDİS($C$5:$C$208;KAÇINCI($A$2;$H$5:$H$995;0)))
=EĞER(A2="";"";İNDİS($F$5:$F$995;KAÇINCI($A$2;$H$5:$H$995;0)))

Bu çeşit makro ve formülleri çok kullanıyorum. Daha pratik bir yolu var mı diye de araştırıyorum.
 
Merhaba,
Aynı yöntemi diğer formülleriniz için de uygulayabilirsiniz.
Çok sayıda formül kullanılması (eğer hesaplamalar manuele alınmamışsa) yavaşlamaya yol açabilir. Önerim formüller yerine VBA kodu (makro) kullanılmasıdır.
 
Merhaba;
Yönlendirmeniz güzel ama mevcut makro üzerinde ihtiyaç duyduğumda bir kaç oynama yapacak kadar makro biliyorum. Yapay zekaya da bazen soruyorum ama ondan çözüm almak çok zaman alıyor. Özellikle bir kaç işlemli çalışmada iyice saçmalıyor.

Form sitesi sayesinde birçok sorunuma çözüm buldum. Muhasebe dijitale geçtikçe bir çok işlem hazır gelmeye başladığı için öncekine nazaran daha az makro ihtiyacım oluyor.
İlginize teşekkürler, iyi çalışmalar.
 
Geri
Üst