Boş hücreye makro ile nasıl formül yazdırırım?

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kur sayfasında K1 hücresinde formül var. Onu aşağıdaki şekilde değiştirip dener misiniz?

Kod:
=RASTGELEARADA(1;2)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bende güncelleme işlemi hata verdiği için deneme yapamıyorum.
 
Katılım
21 Ağustos 2005
Mesajlar
625
Excel Vers. ve Dili
Office 365 - İngilizce
Yeni konu açmamak için burada soruyorum arkadaşlar.
Boş bir hücreye ActiveCell.Formula = "=IF($AI$2="""","""",VLOOKUP(A3,'ANLIK VERI'!$A$66:$C$475,3,0))" şeklinde kod yazdırabiliyorum.
Ancak formülde yer alan $AI$2 yi , formülü yapıştırdığım hücrenin bir üst hücre adresi ile değiştirmem gerekiyor, bunun içinde devamında
ActiveCell.FormulaR1C1 = _
"=IF(R[-1]C="""","""",VLOOKUP(RC[-35],'ANLIK VERI'!R66C1:R475C3,3,0))"
şeklinde yazıyorum. Bu işlemi 400 satır için kopyalamam gerekiyor, ancak ikinci formülde haliyle sabitleme işareti kalkıyor. Hücredeki formül şu hale geliyor.
=IF(AK2="","",VLOOKUP(B3,'ANLIK VERI'!$A$66:$C$475,3,0)) buna ilaveten de formül sonucu da #N/A hatası veriyor. Oysaki alttaki 400 hücre için AK2 adresini $AK$2 şeklinde sabit olarak belirtmek istiyorum. Bunu nasıl düzeltebilirim?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosyanızı paylaşırsanız durum daha net anlaşılır.
 
Katılım
21 Ağustos 2005
Mesajlar
625
Excel Vers. ve Dili
Office 365 - İngilizce
Korhan bey örnek dosya linki aşağıdadır. Module 3 ün içinde yer alan guncelleme makrosu ile ilgili problemi anlatmıştım yukarıda.

 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Modül3 içindeki kodlarla yapmak istediğiniz işlem nedir? Tarif eder misiniz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Sub Guncelleme()
    Application.ScreenUpdating = False
    Sheet1.Select
    a = WorksheetFunction.CountA(Sheet1.Range("2:2"))
    b = Cells(2, a)
    c = Date
    
    If b = c Then GoTo 10 Else
    
    With Range(Cells(2, a), Cells(412, a))
        .Value = .Value
    End With
        
    Cells(2, a + 1) = c
        
    With Range(Cells(3, a + 1), Cells(412, a + 1))
        .Formula = "=IF(" & Cells(2, a + 1).Address & "="""","""",VLOOKUP(A3,'ANLIK VERI'!$A$66:$C$475,3,0))"
    End With
    
    Range(Cells(2, a), Cells(412, a)).Copy
    Cells(2, a + 1).PasteSpecial xlFormats
    Application.CutCopyMode = False
    
    Range("A3").Select
    
    Application.ScreenUpdating = True
    
    MsgBox "Veriler Güncellenmistir..."
    
    Exit Sub

10  ActiveWorkbook.RefreshAll
End Sub
 
Katılım
21 Ağustos 2005
Mesajlar
625
Excel Vers. ve Dili
Office 365 - İngilizce
Korhan bey, mükemmel ve kusursuz derecede çalıştı, muhteşem kodlar için teşekkür ediyorum. Adresleme yöntemini inceleyip anlamam lazım.
For next döngüsüne hiç gerek yokmuş bu vesileyle bunu da öğrendim.
Tekrardan çok teşekkür ederim.
 
Üst