Bu kaynak, hücre içindeki metnin tamamını değil, yalnızca belirlenen kelimeyi renklendiren bir makro örneğidir. Örnekte B sütunundaki cümlelerde geçen "excel" kelimesi kırmızı yazı rengine çevrilir.
Dosyanın içeriği
- Sayfa1: B1:B14 aralığında örnek cümleler bulunur. Renklendirme işlemi B3 hücresinden başlayarak B sütunundaki son dolu satıra kadar uygulanır.
- Module1: RegExpExcelDepo adlı makroyu içeren VBA modülüdür.
Makrolar
Dosya makro içerir (.xlsm), açarken makroları etkinleştirmeniz gerekir. Makro yalnızca hücre içeriğini biçimlendirir; dosya silme veya dışarıya bağlantı gibi bir işlem yapmaz.- RegExpExcelDepo: vbscript.regexp nesnesi oluşturur ve aranan kalıbı "excel" olarak belirler. IgnoreCase özelliği açık olduğundan "Excel", "EXCEL" ve "excel" yazımlarının hepsi bulunur. Global özelliği sayesinde aynı hücrede birden fazla geçen kelimenin tümü işlenir.
- Makro B3 ile B sütunundaki son dolu hücre arasındaki hücreleri tek tek tarar. Kalıbı içeren hücrelerde eşleşmenin başlangıç konumu ve uzunluğu bulunur, yalnızca bu karakterlerin Font.Color değeri vbRed yapılır. Hücrenin geri kalan metni değişmez.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Renklendirilecek metinleri Sayfa1'de B3 hücresinden başlayarak B sütununa girin.
- Alt+F8 tuşlarıyla makro listesini açın, RegExpExcelDepo makrosunu seçip çalıştırın.
- Başka bir kelime için VBA düzenleyicisinde (Alt+F11) Module1 içindeki .Pattern satırında yer alan "excel" ifadesini değiştirin.
- Farklı bir renk için vbRed yerine başka bir renk sabiti (ör. vbBlue) yazın.