Bu öğreticide, hücre içeriğine dayalı olarak bir Excel hücresindeki metin boyutunu ve stilini değiştirmek için Visual Basic for Applications (VBA) kullanmayı öğreneceğiz. Bu eğitim Excel 365, 2021, 2019 ve 2016 için geçerlidir.
ön elemeler
Excel VBA geliştirmede yeniyseniz, öğreticiye geçmeden önce Excel VBA makro primerimize bakmanızı tavsiye ederim.
Kodlamaya başlamadan önce , Şeritte Excel'deki geliştirici sekmenizi etkinleştirmelisiniz, aksi takdirde Visual Basic Düzenleyicinize erişemezsiniz.
VBA ile Excel hücre metni özelliklerinizi değiştirin
E-tablonuzu tanımlayın
Örnek olarak kullanacağımız bir Excel elektronik tablosu tanımlayarak başlayacağız. Bu öğreticiyi takip etmek için kullanmaktan çekinmeyin.
- Microsoft Excel'i açın ve Excel_Macros.xlsm adlı yeni bir Makro Etkin Excel Çalışma Kitabı ( .xlsm ) oluşturun.
- Elektronik Tablonuzu yerel sürücünüze kaydedin.
- Sayfa1 çalışma sayfasında devam edin ve aşağıdaki tabloyu ekleyin:

- Şimdi, Şeritten Formüller'e basın .
- Ardından Adı Tanımla'ya basın .
- Aşağıda gösterildiği gibi VBA kodunuzu uygulayacağınız Adlandırılmış Bir Aralık tanımlayın ve Tamam'a basın .
![VBA ile Excel metin yazı tipi rengi nasıl ayarlanır? VBA ile Excel metin yazı tipi rengi nasıl ayarlanır?]()
Yazı tipi rengini ve stilini değiştirmek için Cell.Font VBA özelliğini kullanın
- Geliştirici sekmesine gidin .
- Ardından devam edin ve Visual Basic düğmesine basın.
- Sol taraftaki Proje Gezgini'nde , Excel_Macros.xlsm projesini vurgulayın ve ardından Ekle'ye basın ve Modül'ü seçin .
- Module1 adında yeni bir VBA modülü oluşturulacak.
- Devam edin ve yeni oluşturulan modüle aşağıdaki kodu yapıştırın:
Sub Color_Cell_Text_Condition()
Dim MyCell As Range
Dim StatValue As String
Dim StatusRange As Range
Set StatusRange = Range("Completion_Status")
'loop through all cells in the range
For Each MyCell In StatusRange
StatValue = MyCell.Value
'modify the cell text values as needed.
Select Case StatValue
'green
Case "Progressing"
With MyCell.Font
.Color = RGB(0, 255, 0)
.Size = 14
.Bold = True
End With
'orange
Case "Pending Feedback"
With MyCell.Font
.Color = RGB(255, 141, 0)
.Size = 14
.Bold = True
End With
'red
Case "Stuck"
With MyCell.Font
.Color = RGB(255, 0, 0)
.Size = 14
.Bold = True
End With
End Select
Next MyCell
End Sub
- Visual Basic düzenleyicinizde Kaydet düğmesine basın .
- Şimdi Çalıştır'a basın ve ardından Alt/Kullanıcı Formu Çalıştır'ı seçin (veya sadece F5'e basın).
- Sayfa1 çalışma sayfanıza gidin ve değişiklikleri fark edin. Tablo girişlerinize, metinlerine göre (RGB renk işlevi kullanılarak) birden çok renk kodu atanmıştır ve ayrıca metni kalın olacak şekilde ayarlayıp boyutunu büyüttük.
![VBA ile Excel metin yazı tipi rengi nasıl ayarlanır? VBA ile Excel metin yazı tipi rengi nasıl ayarlanır?]()
- Kodunuzu kaydetmediyseniz, Kaydet düğmesine (veya Ctrl+S) basın, ardından çalışma kitabınızı da kaydedin.
VBA Makronuza erişin
- Kodunuzun, Görünüm sekmesinde (veya alternatif olarak Geliştirici | Makrolar'da) bulunan Makrolar komutundan çalıştırmanız için her zaman hazır olduğunu unutmayın.
![VBA ile Excel metin yazı tipi rengi nasıl ayarlanır? VBA ile Excel metin yazı tipi rengi nasıl ayarlanır?]()
Bonus: Hücre Stili
Excel, Hücre "Stilleri" oluşturma olanağı sunar. Stiller Ana Sayfa Şeridi > Stiller:
![excel vba yazı tipi stilleri]()
Stiller, istediğiniz Hücre Biçimlendirmesini kaydetmenize olanak tanır. Daha sonra bu stili yeni bir hücreye atayın ve tüm hücre formatı anında uygulanır. Yazı tipi boyutu, hücre rengi, hücre koruma durumu ve Hücre Biçimlendirme Menüsünde mevcut olan diğer her şey dahil:
![hücre biçimlendirme menüsü excel]()
Kişisel olarak üzerinde çalıştığım modellerin çoğu için genellikle bir "Giriş" hücre stili oluşturuyorum:
Aralık("a1").Stil = "Giriş";
Stilleri kullanarak çalışma sayfanızdaki hücre türlerini de kolayca tanımlayabilirsiniz. Aşağıdaki örnek, çalışma sayfasındaki tüm hücreler arasında geçiş yapacak ve Style = "Input" olan herhangi bir hücreyi "InputLocked" olarak değiştirecektir:
Aralık Olarak Loş Hücre
ActiveSheet.Cells'deki Her Hücre İçin
Cell.Style = "Giriş" ise daha sonra Cell.Style = "InputLocked";
Eğer Sonlandır
Sonraki Hücre