• DİKKAT

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

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

  • Konbuyu başlatan Konbuyu başlatan omemo
  • Başlangıç tarihi Başlangıç tarihi
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.
 
Bu şekilde olabilir...

C++:
Dim Rng As Range

Set Rng = Range("A1")
 
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
 
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
 
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
 
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.
 
Korhan hocam burada A1 hücresi B1 den T1 e kadar A2 hücresi B2 den T2 ye kadar şeklinde örneğin 50 satır için her satırın ilk hücresi ne ise devamında o şekil olması için nasıl bir yol izlemeliyiz. ben kendimce yaptım ama tüm aralığı tek bir renge boyadı vaktiniz varsa bakabilir misiniz
 
Deneyiniz.

C++:
Option Explicit

Sub Test()
    Dim Rng As Range

    Set Rng = Range("A1:A50")

    Rng.Copy
    Range("B1:T50").PasteSpecial xlPasteFormats
    Application.CutCopyMode = False
    Rng(1).Select
End Sub
 
Hocam çok sağolasın emeğinize sağlık
 
Geri
Üst