Hücre stili bir değişkene atanabilir mi?

Katılım
1 Haziran 2016
Mesajlar
50
Excel Vers. ve Dili
Office 2013-Türkçe 64 Bit
Merhaba,
Bir hücrenin stili(font, renk, kenarlıklar v.b. gibi tüm özellikler) bir değişkene atanarak, sonra aynı ya da başka bir hücrede veya hücre aralığında(range) kullanılabilir mi?
Yapılabilirse nasıl bir kod gerekir?
Teşekkürler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu şekilde olabilir...

C++:
Dim Rng As Range

Set Rng = Range("A1")
 
Katılım
1 Haziran 2016
Mesajlar
50
Excel Vers. ve Dili
Office 2013-Türkçe 64 Bit
Bu şekilde olabilir...

C++:
Dim Rng As Range
Set Rng = Range("A1")
Yanıt için teşekkürler.
Yanıttan yola çıkarak, aşağıdaki kodu yazdım. Hücre stili yerine hücre içeriğini kopyaladı.
Nerede hata yapıyorum?
Kod:
Sub CellProperties()
Dim Rng As Range
    Set Rng = Range("A1")
    Range("C2:D4") = Rng
End Sub
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba,
Kod:
    Range("A1").Select
    Selection.Copy
    Range("B6:C9").Select
    Selection.PasteSpecial Paste:=xlPasteFormats
    Application.CutCopyMode = False
Acaba işinizi görür mü?
iyi çalışmalar
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Eğer hücrenin belli bir özelliğini başka bir aralığıa tanımlamak istiyorsanız aşağıdaki gibi kullanabilirsiniz.

C++:
Option Explicit

Sub Test()
    Dim Rng As Range
    
    Set Rng = Range("A1")
    
    Range("D1:D10").NumberFormat = Rng.NumberFormat
End Sub
Yok eğer hücrenin tüm biçimini başka bir aralığa uygulamak istiyorsanız en kolay yöntemi Tevfik beyinde önerdiği gibi kopyala-özel yapıştır biçimleri işlemi ile sonuca gidebilirsiniz. İşlemleri hücre seçmeden yaptırırsak eğer kod aşağıdaki gibi olacaktır. Sadece yapıştırma işleminden sonraki seçimden kurtulmak için belki tercihe göre kaynak hücre seçimi yapılabilir.

C++:
Option Explicit

Sub Test()
    Dim Rng As Range
    
    Set Rng = Range("A1")
    
    Rng.Copy
    Range("D1:D10").PasteSpecial xlPasteFormats
    Application.CutCopyMode = False
    Rng.Select
End Sub
 
Katılım
1 Haziran 2016
Mesajlar
50
Excel Vers. ve Dili
Office 2013-Türkçe 64 Bit
Teşekkürler,
Sayın Korhan Ayhan, Sayın Tevfik Kursun, istediğim "Biçim Boyacısı" veya "Kopyala-->Özel Yapıştır-->Biçimleri" işlevlerinin kodları değildi. Bu kodlar kopyalandıktan sonra başka işlem yapmadan yapıştırmayı gerektiriyor.
Yapmaya çalıştığım işlem; hücrenin tüm biçim özelliklerini bir değişkene atamak(atama işlemi sonrasında hücrenin biçimi değişiyor ve referans alacağım hücre kalmıyor), sonra manuel ve/veya kodlarla başka birçok işlem yapmak, gerektiğinde değişkende saklanmış olan biçimi başka bir hücreye uygulamaktı.
Zaman ayırıp, yanıtladığınız için tekrar teşekkürler.
 
Üst