makroda formülü aşağı kadar çekme?

Katılım
30 Ağustos 2013
Mesajlar
67
Excel Vers. ve Dili
office 2016 tr
Altın Üyelik Bitiş Tarihi
01.06.2022
merhaba,
çok yeniyim aradım taradım ama bir türlü yapamadım.
elimde şöyle bir rapor var


aşağıda yazdığım formülde D,F ve J sütunlarına vlookup ile veri çekiyorum. bunu makro kaydet diyerek kaydettim.

sorunum şu ki, bu D,F ve J sütunundaki veriler E sütunu kaç satır ise o kadar satır aşağı inmeli. normalde kendim D,F ve J sütunlarına vlookup yapıp çift tıkladığımda E sütununda kaç satır varsa o kadar satır aşağı iniyor fakat sorun şu ki, E sütunu her raporda farklı sayıda. Bu raporda E sütunu 19 satır fakat bir sonraki raporda 850 satır, bir diğerinde 630 satır olacak. ben istiyorum ki makroda her seferinde düzgün çalışsın. bu şekilde E sütunu 200 satır da olsa 19 satır aşağı iniyor.
örneğin aşağıdaki örnekte sanırım 315 satır aşağı iniyor.

bunu nasıl düzeltirim günlerdir çözemedim yardım edenlere şimdiden minnettarım.

Kod:
    Sheets("soh").Select
    Columns("E:E").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("E1").Select
    ActiveCell.FormulaR1C1 = "DEP"
    Range("E2").Select
    ActiveCell.FormulaR1C1 = "=LEFT(RC[-2],2)"
    Range("E2").Select
    Selection.AutoFill Destination:=Range("E2:E3743")
    Range("E2:E3743").Select
    Range("K1").Select
    ActiveCell.FormulaR1C1 = "maliyet"
    Range("K2").Select
    ActiveCell.FormulaR1C1 = "=RC[-4]/RC[-2]"
    Range("K2").Select
    Selection.AutoFill Destination:=Range("K2:K3743")
    Range("K2:K3743").Select
    Sheets("Controlled Items").Select
    ActiveWindow.SmallScroll Down:=-6
    Range("D4").Select
[B][COLOR="Sienna"]    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[1]:R[315]C[1],soh!C:C[1],2,0)"
    Selection.AutoFill Destination:=Range("D4:D600")
    Range("D4:D600").Select
    Range("F4").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1]:R[315]C[-1],soh!C[-2]:C,3,0)"
    Selection.AutoFill Destination:=Range("F4:F319")
    Range("F4:F319").Select
    Range("J4").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5]:R[315]C[-5],soh!C[-6]:C[1],8,0)"
    Selection.AutoFill Destination:=Range("J4:J600")
    Range("J4:J600").Select[/COLOR][/B]
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
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.

Resim eklemek yerine, sorunuzu (cevabımın altındaki açıklamaları okuyarak) bir örnek belge ile desteklemenizi öneririm.

Örnek belge olursa daha hızlı ve net çözüme ulaşacağınızı düşünüyorum.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
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.
Kod:
............. "=VLOOKUP(RC[1]:R[315]C[1],soh!C:C[1],2,0)"
    Selection.AutoFill Destination:=Range([COLOR="Red"]"D4:D600"[/COLOR])
Merhaba.

Formüllerinize bakmış değilim.

Koddaki kırmızı kısmı aşağıdaki ile değiştirin
(benzer durumdaki diğer satırları da buna göre düzeltirsiniz).
Böylece formül, E sütunundaki son dolu satıra ( [E65536].End(3).Row )
kadar uygulanır (çift tırnak işaretlerine dikkat ediniz) .
.
Kod:
Destination:=Range([COLOR="Blue"]"D4:D" & [E65536].End(3).Row[/COLOR])
 
Katılım
30 Ağustos 2013
Mesajlar
67
Excel Vers. ve Dili
office 2016 tr
Altın Üyelik Bitiş Tarihi
01.06.2022
yanıtınız için çok teşekkür ederim. saygılar, iyi çalışmalar.
 
Üst