E

Çözüldü Kopyala makrosunun boşlukları değer olarak getirmesi

  • Konuyu başlatan Konuyu başlatan ErolU
  • Başlangıç tarihi Başlangıç tarihi

ErolU

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Arkadaşlar,
Bir kopyala makrosu oluşturdum. Formüllü alanı kopyalayıp başka bir yere değer olarak yapıştırıyor.
Yapıştırdığı yerde boşluklar boş görünüyor ama bağ değ dolu say ile bakınca dolu görünüyor.
Bu sorunu çözmek istiyorum.
Yardımlarınızı rica ederim.

İnternette araştırdım şöyle bir kod ile çözülebiliyormuş. Bunu ekteki dosyaya nasıl entegre edebilirim? Varsa farklı bir çözüm de olur.

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(7 satır)
 

Ekli dosyalar

Belgenizin ThisWorkbook bölümündeki SelectionChange kodunun amacını anayamadım.
Bana gereksiz gibi geldiği için silinebilir gibi geldi.

Mevcut kodu aşağıdaki gibi değiştirerek deneyin.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(18 satır)
 
Bir de şöyle deneyin.

Copy yerine ilgili alandaki her hücre için;
-- hücre doluysa 93 satır üstündeki aynı sütun hücresine değeri yaz.
-- hücre boşsa (formül sonucu "" ise) 93 satır üstündeki hücre içeriğini temizle.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(19 satır)
 
Teşekkür ederim kod için.
Gönderdiğiniz kod eklediğim dosyada çalıştı, işlemi yaptı. Fakat 12-13 saniye kadar sürüyor. Bu normal mi? Bu kadar uzun sürerse kullanamayacağım.
İkinci durum aynı yapıdaki diğer bir belgede For Each XD In XD için değişken atanmamış hatası veriyor.
 
Ömer Bey,
Dosyamdaki düşeyara formülü işlemi uzatıyor. Dünkü dosyaya bu durumu öngörmediğim için bir formül yazıp geçmiştim.

Eklediğim belgede butona tıklayınca işlemin uzun sürdüğünü göreceksiniz. İşlem süresi asıl dosyamda daha uzun sürüyor.
Düşeyarayı kullanmak zorundayım.

KODDAKİ
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(3 satır)
kısmı tam olarak nasıl işlem yapıyor bilmemekle beraber acaba hücreleri tek tek bulup silip mi diğer hücreye geçiyor diye düşünüyorum.
Eğer böyle ise işlemi kısaltmak için şöyle bir şey yapılabilir mi?

Makro yukarıdaki kod olmadan kopyalamayı yapsın sonra
Range("C7:AM66, AT7:AX66") bölgesindeki boş hücreler(bir şey yazmayan) topluca seçilsin ve ClearContents yapılsın.
 

Ekli dosyalar

Sayın Baran,
Son kodu değil de son koddaki
Application.Calculation = xlCalculationManual
ve
Application.Calculation = xlCalculationAutomatic
satırlarını önceki koda uyguladığımda sorun çözülmüş oldu.

Yardımlarınız için teşekkür ederim. Sağ olun.
 
Üst