• DİKKAT

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

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

Kur sayfasında K1 hücresinde formül var. Onu aşağıdaki şekilde değiştirip dener misiniz?

Kod:
=RASTGELEARADA(1;2)
 
Bende güncelleme işlemi hata verdiği için deneme yapamıyorum.
 
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?
 
Örnek dosyanızı paylaşırsanız durum daha net anlaşılır.
 
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.

 
Modül3 içindeki kodlarla yapmak istediğiniz işlem nedir? Tarif eder misiniz?
 
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
 
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.
 
Geri
Üst