Satır silinmesi ve seçenek azalması

igultekin2000

Altın Üye
Katılım
5 Eylül 2007
Mesajlar
1,238
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
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

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,598
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
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)"
 

igultekin2000

Altın Üye
Katılım
5 Eylül 2007
Mesajlar
1,238
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
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.
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,598
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
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.
 

igultekin2000

Altın Üye
Katılım
5 Eylül 2007
Mesajlar
1,238
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
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.
 
Üst