Dalam tutorial ini kita akan belajar cara menggunakan Visual Basic for Applications (VBA) untuk mengubah suai saiz dan gaya teks dalam sel Excel berdasarkan kandungan sel. Tutorial ini digunakan untuk Excel 365, 2021, 2019 dan 2016.
Pendahuluan
Jika anda baru dalam pembangunan Excel VBA, saya akan mengesyorkan bahawa sebelum melalui tutorial anda akan melihat buku asas makro Excel VBA kami.
Sebelum anda memulakan pengekodan, anda harus mendayakan tab pembangun anda pada Excel dalam Ribbon, kerana jika tidak, anda tidak akan dapat mengakses Editor Visual Basic anda.
Tukar sifat teks sel Excel anda dengan VBA
Tentukan hamparan anda
Kami akan mulakan dengan mentakrifkan hamparan Excel yang akan kami gunakan sebagai contoh. Jangan ragu untuk menggunakannya untuk mengikuti tutorial ini.
- Buka Microsoft Excel dan buat Buku Kerja Excel Didayakan Makro baharu ( .xlsm ) bernama Excel_Macros.xlsm
- Simpan Hamparan anda dalam pemacu setempat anda.
- Dalam lembaran kerja Helaian1 , teruskan dan tambah jadual di bawah:

- Sekarang, dari Reben, tekan Formula .
- Kemudian tekan Define Name .
- Tentukan Julat Dinamakan yang mana anda akan menggunakan kod VBA anda seperti yang ditunjukkan di bawah dan tekan OK .

Gunakan sifat Cell.Font VBA untuk menukar warna dan gaya fon
- Beralih ke tab Pembangun .
- Seterusnya teruskan dan tekan butang Visual Basic .
- Di sebelah kiri Project Explorer , serlahkan projek Excel_Macros.xlsm kemudian tekan Sisipkan dan pilih Modul .
- Modul VBA baharu bernama Module1 akan dibuat.
- Teruskan dan tampal kod berikut dalam modul yang baru dibuat:
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
- Tekan butang Simpan dalam editor Visual Basic anda.
- Sekarang tekan Run dan kemudian pilih Run Sub/UserForm (atau hanya tekan F5).
- Beralih ke lembaran kerja Helaian1 anda dan perhatikan perubahannya. Entri jadual anda telah diberikan berbilang kod warna mengikut teksnya (menggunakan fungsi warna RGB), dan kami juga menetapkan teks menjadi tebal dan meningkatkan saiznya.

- Jika anda belum menyimpan kod anda, tekan butang Simpan (atau Ctrl+S), kemudian simpan juga buku kerja anda.
Akses Makro VBA anda
- Ambil perhatian bahawa kod anda sentiasa tersedia untuk anda jalankan daripada perintah Macros yang terdapat dalam tab View (atau secara alternatif dalam Developer | Macros)

Bonus: Gaya Sel
Excel menawarkan keupayaan untuk mencipta "Gaya" Sel. Gaya boleh didapati dalam Reben Rumah > Gaya:

Gaya membolehkan anda menyimpan Pemformatan Sel yang anda inginkan. Kemudian tetapkan gaya itu kepada sel baharu dan semua pemformatan sel digunakan serta-merta. Termasuk saiz fon, warna sel, status perlindungan sel dan apa-apa lagi yang tersedia daripada Menu Pemformatan Sel:

Secara peribadi, untuk kebanyakan model yang saya kerjakan, saya biasanya mencipta gaya sel "Input":
Julat("a1").Gaya = "Input"
Dengan menggunakan gaya anda juga boleh mengenal pasti jenis sel dengan mudah pada lembaran kerja anda. Contoh di bawah akan melingkari semua sel dalam lembaran kerja dan menukar mana-mana sel dengan Style = "Input" kepada "InputLocked":
Sel Malap sebagai Julat
Untuk Setiap Sel dalam ActiveSheet.Cells
Jika Cell.Style = "Input" kemudian Cell.Style = "InputLocked"
Tamat Jika
Sel Seterusnya