• DİKKAT

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

Sayfadaki Formülleri Vba ya geçirmek

  • Konbuyu başlatan Konbuyu başlatan hlojan
  • Başlangıç tarihi Başlangıç tarihi
Katılım
15 Mayıs 2015
Mesajlar
518
Excel Vers. ve Dili
Microsoft Office 2019
Kod:
Excel sayfamda belirli hücrelerde formüller var


Ben bir modüle bunları vba kodlamasına geçirmek istiyorum

Makro kaydet özelliği ile yaptım
hücredeki formülü formül çubuğundan kopyalayıp başka hücreye yapıştırdığımda

Kod:
=EĞER(YADA(U46="VIT";U46="VİT");U46&""&U48&U47;U46&"."&U48&U47)

Kod:
    Range("C52").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(OR(R[-7]C[18]=""VIT"",R[-7]C[18]=""VİT""),R[-7]C[18]&""""&R[-5]C[18]&R[-6]C[18],R[-7]C[18]&"".""&R[-5]C[18]&R[-6]C[18])"
    Range("C53").Select

şeklinde çeviriyor.

50 60 kalem hücre var. uzun bir işlem olur benim için

Hücrelerdeki formülleri bir modüle toparlamam konusunda yardımlarınızı bekliyorum
 
Sayfadaki formülleri bulmanın yolunu buldum
Kod:
Sub FindFormulaCells()  
For Each cl In ActiveSheet.UsedRange  
If cl.HasFormula() = True Then  
msgbox cl.formula 
End If  
Next cl  
End Sub

Burdan yürüyerek bunu modüle listelemek istiyorum.

Modüle eklemek belki zor olabilir. VBcompenents filan gerekiyor.
Bunu Word e Notepade listelemek mümkün mü ?
 
Merhaba, aşağıdaki kodla dosyanın kayıtlı olduğu yere formülleri yazan bir text dosyası oluşturabilirsiniz.
Kod:
Sub KOD()
Open ThisWorkbook.Path & "\Formüller.txt" For Output As #1
For Each cl In ActiveSheet.UsedRange
If cl.HasFormula = True Then
    Print #1, cl.Formula
End If
Next cl
Close #1
End Sub
Vba'da kullanırken özellikle tırnak işaretleri problem oluyor ama bir değişkene alıp yazdırmayı deneyebilirsiniz. Mesela:
Kod:
Sub kod1()
formül = Range("A1").Formula
Range("A2") = formül
End Sub
 
Teşekkürler

Bişi daha eklicem ama

ben kodu biraz değiştirdim

Kod:
Private Sub CommandButton4_Click()
Open ThisWorkbook.Path & "\Formüller.txt" For Output As #1
For Each cl In ActiveSheet.UsedRange
If cl.HasFormula = True Then
adres = "range("" & cl.Address "")" & cl.Formula
    Print #1, cl.Value
    Print #1, adres
End If
Next cl
Close #1
End Sub

Her satır böle çıksın istiyorum
Kod:
Range("A1")=$B$4+A6*$H$3

ama böle çıkıyor
Kod:
range(" & cl.Address ")=$B$4+A6*$H$3

Nasıl bir düzeltme yapmam lazım
 
Şu şekilde deneyiniz:
Kod:
"Range(""[COLOR="Red"]"[/COLOR] & Replace(cl.Address, "$", "") & [COLOR="red"]"[/COLOR]"")" & cl.Formula
 
Geri
Üst