• DİKKAT

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

Çok geniş bir listede formülleri değere dönüştürme

Katılım
18 Ağustos 2009
Mesajlar
202
Excel Vers. ve Dili
Excel 365 - Türkçe
150 sütundan ve sayısı değişkenlik gösteren yaklaşık 30.000 satırdan oluşan geniş bir listem var.
Bu listedeki bilgileri formüllerle başka bir sayfaya aktarıp burada analiz etmeye çalışıyorum.
Ancak liste çok geniş olduğu için formüller çok kasıyor.

Bu yüzden sadece 1.satıra formül yazıp, o formülü kaç tane gerekiyorsa aşağı satırlara kopyalayan
ve sonrasında da formülleri değerlere dönüştüren bir makro yazdım. Ancak bu makronun çalışması da
çok uzun sürüyor. Buna daha kısa sürede yapan kasmayan bir çözüm yolu önerecek var mıdır?

Aşağıdaki kodda öncelikle, 4.satır ve aşağısındaki bilgileri temizleyip, sonra 3.satırdaki formülleri
4.satırdan itibaren kaç tane satır varsa aşağıya doğru o kadar kopyalayıp, formülleri değerlere dönüştürüyor.

Range("A4:AZ" & [B1]).Select
Selection.ClearContents
Range("A3:AZ3").Select
Selection.Copy
Range("A4:AZ" & [A1] + 2).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
 
Formülü bilseydik ve bir de örnek dosya olsaydı iyi olmaz mıydı?
 
150 sütun X 30.000 satır = 4.500.000 adet formül varsa, dosyanın kasılması normaldir, zaten yakında dosya da bozulur...... O zaman orjinal verilerinizi kurtarma şansınız da kalmaz.

Bu işin doğrusu; başka bir Excel dosyasına yazılacak kodla, orjinal dosyanızdan verilerin alınarak gerekli analiz işlerinin yine VBA ile yapılmasıdır.


.
 
örnek listem ektedir.
zaten ben de vba ile yapmaya çalışıyorum.
1.satırdaki mevcut formülleri ihtiyaç kadar aşağıya kopyalayıp sonra da formülleri değerlere dönüştürmek istiyorum.
kullandığım kodlar ekteki dosyada Module1 içerisindedir.
kullandığım dosya çok geniş ve kapsamlı olduğu için kullandığım bu yol biraz uzun sürüyor.
aynı işi yapacak daha kısa bir yol var mıdır onu bulmaya çalışıyorum.

.Value = .Value

bunu denedim ama ama başaramadım.
 

Ekli dosyalar

Örnek dosyanızda Liste sayfasında herhangi bir veri bulunmuyor.

Liste ve LİSTE 2 sayfasında sütun başlıkları aynı olduğu halde neden İNDİS formülü kullandınız anlamadım.

LİSTE 2 sayfasının A1 ve B1 hücrelerindeki sayılar neyi ifade ediyor?

İşin özü bu dosyada formüllerle ne yapmaya çalıştığınızı anlamadım maalesef.
 
Sayın YUSUF44, siz formülleri dikkate almayın.
benim istediğim o formülleri aşağıdaki hücrelere hızlı bir şekilde kopyalamak ve formülleri değerlere dönüştürmek istiyorum.
bunun için önereceğiniz kod var mıdır?
 
Alternatif olarak "Özet Tablo - Pivot Table" kullanmayı deneyebilirsiniz.
 
Belki formüllerin ne olduğunu ne yaptığını bilseydik ona göre farklı bir yöntem geliştirilebilirdi, formül yerine tamamen makro kullanılabilirdi mesela.
 
Geri
Üst