• DİKKAT

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

Makro ile Formüle Git-Kopyala-Değer Yapıştır

Katılım
30 Eylül 2016
Mesajlar
53
Excel Vers. ve Dili
Excel Standart 2016 x64 TR
Arkadaşlar merhaba, başlıkta da belirttiğim üzere amacım formül olan hücreleri değere döbüştürmek. Manuel olarak Git menüsünden Formüle git'e tıklayıp formül olan hücreleri seçiyorum fakat kopyala dediğimde galiyle çoklu seçim olduğu için kopyalama işlemini yapamıyorum. Formül olan hücreleri değere dönüştürmenin makro ile kolay bir yöntemi var mıdır? Yardımcı olursanız çok sevinirim. Hepinize iyi çalışmalar.
 
Makro kaydet yöntemiyle elde edilen koda yapılan bir ilave, işinizi görür sanırım ...

Kod:
Sub Macro1()
'
' Macro1 Macro
'

'
    Selection.SpecialCells(xlCellTypeFormulas, 23).Select
    
    For Each Rng In Selection
        Rng.Value = Rng.Value
    Next
End Sub

.
 
Makro kaydet yöntemiyle elde edilen koda yapılan bir ilave, işinizi görür sanırım ...

Kod:
Sub Macro1()
'
' Macro1 Macro
'

'
    Selection.SpecialCells(xlCellTypeFormulas, 23).Select
   
    For Each Rng In Selection
        Rng.Value = Rng.Value
    Next
End Sub

.
Haluk bey teşekkür ederim. Makro kaydet yöntemini denemiştim ama for döngüsünü oluşturmayı bilmediğim için istemiş olduğum işlemi gerçekleştiremiyordum. Vermiş olduğunuz kod işimi gördü. Son bir sorum olacak. Bu kodu excel dosyasında bulunan tüm sayfalar için çalıştırmak istediğimde nasıl yapmalıyım?
 
Kod:
Sub Macro1()
'
' Macro1 Macro
'

'
    For i = 1 To Sheets.Count
        Sheets(i).Activate
        Selection.SpecialCells(xlCellTypeFormulas, 23).Select
        
        For Each Rng In Selection
            Rng.Value = Rng.Value
        Next
    Next
End Sub

.
 
Kod:
Sub Macro1()
'
' Macro1 Macro
'

'
    For i = 1 To Sheets.Count
        Sheets(i).Activate
        Selection.SpecialCells(xlCellTypeFormulas, 23).Select
       
        For Each Rng In Selection
            Rng.Value = Rng.Value
        Next
    Next
End Sub

.
Haluk bey bu vermiş olduğunuz kod da ufak bir sorun dışında işe yaradı. Formül içermeyen sayfalarda hata veriyor ve bu sebeple kod duruyor. Bunu nasıl atlatabiliriz acaba?
 
Kodu çalıştırınca formül içeren hücreleri aradığı için formül içermeyen bir sayfa denk geldiğinde aşağıdaki uyarıyı veriyor ve kod bu uyarıyı atlayıp işlemine devam edemiyor. Bu uyarıyı nasıl atlatabiliriz?
excel.jpg
 
Kodun başına;

on error resume next

satırını ilave edin ....

.
 
Kodun başına;

on error resume next

satırını ilave edin ....

.

Kod:
Sub Formul_Deger()
    For i = 1 To Sheets.Count
        Sheets(i).Activate
    On Error Resume Next
        Selection.SpecialCells(xlCellTypeFormulas, 23).Select
        
        For Each Rng In Selection
            Rng.Value = Rng.Value
        Next
        Range("A1").Select
    Next
    MsgBox "Formülleri dönüştürme işlemi tamamlandı.", vbInformation, "İŞLEM TAMAMLANDI"
End Sub

Kodları bu şekilde düzenleyince sorun çözüldü. Elinize emeğinize sağlık Haluk bey, çok teşekkür ederim. İyi çalışmalar.
 
Geri
Üst