Dolaylı ve F2 Enter

mozdem

Altın Üye
Katılım
11 Kasım 2005
Mesajlar
437
Excel Vers. ve Dili
Windows 2011 TR
MS Office 2019 TR - 32bit

VBA, Selenium ve VBS
Altın Üyelik Bitiş Tarihi
08-04-2026
Dolaylı formülünü Makro ile yapmak için malesef aşağıda ve örnek dosyamda olduğu gibi 3 makro ile yapabildim. Şöyleki,
1- Dolaylı Formülü oluşturuyorum. ancak hücrede #Deger! hatası alıyorum onun için,
2- F2 Enter makrosu oluşturdum.
3- Diğer hücrelerede formülü kopyala yapıştır ile yazıyorum.
Bu makroları birleştirdiğimde #Deger! hatasını yok edemiyorum. Makro içinde diğer makroyu çalıştırsam da olmadı
Yardımcı olursanız sevinirim.



Sub dolaylı()
'Application.ScreenUpdating = False

Sheets("Rapor").Range("P4").Formula = "=DOLAYLI(P$1&""!""&P$2&ROW())"

'Application.ScreenUpdating = True

End Sub

'--------------------------
Sub Veri_Yenile()

Range("P4").Select
SendKeys "{f2}"
SendKeys "{ENTER}"
Range("P4").Select
End Sub

'-------------------------------------
Sub kopya()
'******************************************************************************
Sheets("Rapor").Range("P4").Copy
'******************************************************************************

Sheets("Rapor").Range("P5:Q52").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
Sheets("Rapor").Range("A3").Select
Range("P3").Select
End Sub
 

Ekli dosyalar

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,362
Excel Vers. ve Dili
2019 TR
Kod:
Sheets("Rapor").Range("P4").Formula = "=DOLAYLI(P$1&""!""&P$2&ROW())"
satırını aşağıdaki satır ile değiştirirseniz, F2 Enter makrosuna gerek kalmadan formül çalışır.
Kod:
Sheets("Rapor").Range("P4").Formula = "=INDIRECT(P$1&""!""&P$2&ROW())"
 

mozdem

Altın Üye
Katılım
11 Kasım 2005
Mesajlar
437
Excel Vers. ve Dili
Windows 2011 TR
MS Office 2019 TR - 32bit

VBA, Selenium ve VBS
Altın Üyelik Bitiş Tarihi
08-04-2026
Kod:
Sheets("Rapor").Range("P4").Formula = "=DOLAYLI(P$1&""!""&P$2&ROW())"
satırını aşağıdaki satır ile değiştirirseniz, F2 Enter makrosuna gerek kalmadan formül çalışır.
Kod:
Sheets("Rapor").Range("P4").Formula = "=INDIRECT(P$1&""!""&P$2&ROW())"
Aslında Dolaylı formülünü sizin dediğiniz gibi yazmıştım. formüldeki "!" hata veriyordu. Korhan Ayhan bey bana nasıl olacağını söyledi. Ancak sonrada dikkatsizliğimden INDIRECT yerine tekrar Dolaylı yazdım. Dikkatsizliğimin çilesi. Korhan Ayhan beyde uyarmıştı. İngilizceye dikkat diye
Teşekkür ederim. Sağol
 
Üst