Excel VBA'da LCase işlevi, verilen bir dizeyi küçük harfe dönüştürür. Metin verileri için tutarlı bir büyük/küçük harf ayrımı yapmak istediğinizde veya büyük/küçük harfe duyarsız karşılaştırmalar yaparken faydalı olabilir. LCase işlevi orijinal dizeyi değiştirmez; tüm karakterlerin küçük harfe dönüştürüldüğü yeni bir dize döndürür.
Aşağıdaki örneği ele alalım:

Bu örnek "Hello World" dizesini "hello world"e dönüştürür. Burada yeni bir dize oluşturulur ve orijinal dize aynı kalır. Çıktı aşağıda gösterilmiştir. Hemen sekmesinde yazdırılır.

- LCase, VBA'da yerleşik bir işlevdir. VBA LCase işlevi, bir dizedeki tüm karakterleri küçük harfe dönüştürür. Büyük/küçük harfe duyarlı olmayan karşılaştırmaları ve büyük/küçük harfe duyarlı olmayan karşılaştırmaları standartlaştırmak için yararlıdır.
- Orijinal dizgeyi değiştirmez, ancak yeni bir küçük harf versiyonunu döndürür.
- Değişikliklerin etkili olması için VBA LCase fonksiyonunun değişkene geri atanması gerekir.
- VBA LCase fonksiyonu veri tutarlılığını ve tekdüzeliğini korumaya yardımcı olur.
LCase'in sözdizimi
VBA'da LCase fonksiyonunun sözdizimi aşağıdaki gibidir:
LCase(StringExpression)
Nerede:
“StringExpression” küçük harfe dönüştürmek istediğiniz dizedir.
VBA'da Metin Küçük Harfe Nasıl Dönüştürülür?
Verilen bir dizeyi küçük harfe dönüştürmek için aşağıdaki adımları izleyin:
- Araç çubuğundaki “Geliştirici” bölümüne gidin ve “Visual Basic” seçeneğine tıklayın. Şimdi, VBA Editörü fonksiyonlar ve Alt prosedürler eklemek için açılır. Ardından, yeni bir kullanıcı formu veya boş sayfa oluşturmak için “Ekle” ve “Kullanıcı Formu” düğmelerine tıklayın.



Bir çalışan veritabanının adlarından oluşan bir tabloyu ele alalım:
Bu listede aramaları kolaylaştırmak için VBA LCase Column işlemini gerçekleştiriyoruz. - Range için VBA LCase'i gerçekleştirecek bir alt rutin tanımlayın.

- Tablonun aralığını ve yinelemeli bir değişkeni tanımlayın.

- Tablonun aralığını tanımlayın.

- Tabloda çalışacak bir FOR döngüsü başlatın.

Tüm isimleri Küçük Harfe dönüştürmek için VBA LCase for Range işlevini kullanın.
Alt ConvertRangeToLowerCase()
Dim rng As Range
Dim cell As Range
Set rng = Worksheets(“VBA_LCase_Use”).Range(“A2:A10”)
For Each cell In rng
cell.Value = LCase(cell.Value)
Next cell
End Sub - Modülü çalıştırın. Sonra, çıktıyı görüntülemek için tabloya geri dönün.

Örnekler
VBA LCase fonksiyonunu daha iyi anlamak için birkaç örneğe bakalım.
Örnek 1
Bir ürün güzergahınız var ve sıralamayı kolaylaştırmak için yönetici sizden hepsini küçük harfe dönüştürmenizi istiyor ancak orijinal değerleri değiştirmek istemiyor. Aşağıdaki liste üzerinde çalışmalı ve bunları bir sonraki sütunda küçük harfle yazdırmalısınız.

Bu, VBA LCase fonksiyonu kullanılarak yapılabilir.
- Adım 1: Tüm ürünleri Küçük Harfe dönüştüren bir alt program oluşturun.

- Adım 2: Tablonun boyutunu depolamak için bir Aralık değişkeni, tablonun boyutunu bulmak için bir Çalışma Sayfası değişkeni ve alt rutinin çalıştığı sayfayı depolamak için bir yinelemeli değişken bildirin.

- Adım 3: Bu alt rutinin çalışacağı çalışma sayfasını ayarlayın.

- Adım 4: Tablonun boyutunu bulun. Bu, XlUp işlevi kullanılarak yapılır.

XlUp fonksiyonu klavyedeki "yukarı" ok tuşunu simüle eder. Bu, satırdaki son boş olmayan hücreyi bulmak ve boş olmayan hücrelere sahip satırları döndürmek için kullanılır. Bu, tablonun boyutunu dinamik ve değişikliklere duyarlı hale getirir.
- Adım 5: For döngüsünün çalışacağı tablonun aralığını ayarlayın.

- Adım 6: Tabloda dolaşan ve tüm dizeleri küçük harfe dönüştüren ve ardından bitişik sütuna yazdıran bir for döngüsü başlatın.

Bunu yan sütunda yazdırmak için VBA Offset fonksiyonunu kullanıyoruz ve fonksiyonun Y bileşenine 1 ekleyerek bir sütun kaydırıyoruz.
Kod:
Sub ConvertProductNamesToLowercase()
Dim ws As Worksheet
Dim lastRow As Long
Dim rng As Range
Dim cell As Range
Set ws = ThisWorkbook.Sheets(“Example_1”)
lastRow = ws.Cells(ws.Rows.Count, “A”).End(xlUp).Row
Set rng = ws.Range(“A1:A” & lastRow)
For Each cell In rng
cell.Offset(0, 1).Value = LCase(cell.Value)
Next cell
End Sub
- Adım 7: Yukarıda belirtilen alt rutini çalıştırın. Çıktı aşağıda gösterilmiştir:

Örnek 2
Bir kuruluşta, bir veritabanında saklanan kullanıcıların e-postaları vardır. Kullanılan durumdan bağımsız olarak istediğiniz e-posta kimliğini döndürebilecek bir arama işlevi oluşturmanız gerekir. Bu, VBA LCase işlevi kullanılarak yapılabilir.

- Adım 1: Bir arama fonksiyonu oluşturmak için bir alt rutin oluşturun.

- Adım 2: Çalışma sayfası değişkenlerini, tablo boyutunu, tablonun aralığını, kullanıcı tarafından girilen değeri depolamak için bir dizeyi, kullanılabilirliğini kontrol etmek için bir Boole değişkenini ve yinelemeli bir değişkeni depolamak için değişkenleri başlatın.

- Adım 3: Bunun çalışacağı çalışma sayfası adını belirtin.

- Adım 4: XlUp fonksiyonu ile tablonun son satırını bulun . Değişkene son boş olmayan hücre değerini döndürür.

- Adım 5: Tablonun aralığını daha önce bulunan son satırın değeriyle ayarlayın.

- Adım 6: Arama kutusu için kullanıcının girdisini kabul edecek bir Giriş kutusu başlatın .

- Adım 7: Girişi Küçük Harfe Dönüştürün.

- Adım 8: Tabloda çalışan bir FOR döngüsü başlatın ve aranan değerin mevcut olup olmadığını kontrol edin.

- Adım 9: Değerin var olup olmadığını kontrol etmek için koşullar için bir ileti kutusu oluşturun. VBA Adres işlevini kullanarak değerin adresini yazdırın . Aranan değerin hücre değerini döndürür.

Kod:
Sub SearchEmailAddress()
Dim ws As Worksheet
Dim lastRow As Long
Dim rng As Range
Dim searchEmail As String
Dim emailFound As Boolean
Dim cell As Range
Set ws = ThisWorkbook.Sheets(“Example_2”)
lastRow = ws.Cells(ws.Rows.Count, “A”).End(xlUp).Row
Set rng = ws.Range(“A1:A” & lastRow)
searchEmail = InputBox(“Enter the email address to search:”, “Search Email Address”)
searchEmail = LCase(searchEmail)
For Each cell In rng
If LCase(cell.Value) = searchEmail Then
emailFound = True
Exit For
End If
Next cell
If emailFound Then
MsgBox “Email address found in cell- ” & cell.Address
Else
MsgBox “Email address not found.”
End If
End Sub
- Adım 10: Modülü çalıştırın. Çıktı aşağıda gösterilmiştir.


Örnek #3
Bir sosyal medya şirketini yönetiyorsunuz. Sosyal medyada, tüm kullanıcılar isimlerini Kullanıcı Adları olarak saklar. Bir teknoloji yöneticisi olarak, büyük/küçük harf duyarlılığının ek yükü olmadan kullanıcı adlarını bulacak basit bir uygulama oluşturmalısınız. Bu, Excel VBA'da bir UserForm oluşturarak ve ardından VBA LCase işlevini tüm aramalara uygulayarak yapılabilir.

- Adım 1: Yeni bir userform veya boş sayfa oluşturmak için “Ekle” ve “Kullanıcı Formu” butonlarına tıklayın.

- Adım 2: UserForm'u oluşturun ve UserForm'u isteğinize göre özelleştirin.

UserForm'un özelliklerini aşağıda gösterildiği gibi değiştirin.

- Adım 3: Sırasıyla txtUsername ve btnCheck adlarında bir komut düğmesi ve Metin Kutusu ekleyin.


- Adım 4: UserForm'u özelleştirdikten sonra, alt rutinimizi tanımlamak için Button'a çift tıklayın.

- Adım 5: Kullanıcı adı aramasını kabul eden değişkenler, yinelemeli bir değişken ve eşleşme için doğru döndüren bir Boole değişkeni bildirin.

- Adım 6: Metin kutusundan alınan dize değerini alın ve Küçük Harfe dönüştürün.

- Adım 7: Tabloda çalışan bir FOR döngüsü başlatın. Adın var olup olmadığını kontrol edin. Varsa, Boolean değişkenini kullanarak True döndürün.

UserForm'un çalışacağı sayfayı belirtin.
- Adım 8: Bulunan veya bulunamayan değerler için koşullar belirten bir mesaj kutusu oluşturun.

Kod:
Private Sub btnCheck_Click()
Dim searchUsername As String
Dim cell As Range
Dim usernameFound As Boolean
searchUsername = LCase(txtUsername.Value)
For Each cell In Worksheets(“Example_3”).Range(“A2:A10”)
If LCase(cell.Value) = searchUsername Then
usernameFound = True
Exit For
End If
Next cell
If usernameFound Then
MsgBox “Kullanıcı adı listede bulundu!”
Else
MsgBox “Kullanıcı adı bulunamadı.”
End If
End Sub
- Adım 9: UserForm'u çalıştırın ve çıktıyı görüntüleyin.


Dikkat Edilmesi Gereken Önemli Noktalar
- Büyük/küçük harfe duyarlı olmayan dize karşılaştırmaları için VBA LCase fonksiyonunu kullanabilirsiniz.
- VBA LCase fonksiyonunu kullanmadan önce giriş dizelerini kesmeli veya temizlemelisiniz.
- Daha fazla verimlilik için büyük veri kümeleri için alternatifleri göz önünde bulundurun. Beklenen davranışı sağlamak için LCase'i özel karakterlerle test edebilirsiniz.
- VBA LCase fonksiyonunu kullanarak kullanıcı girdilerini doğrulayın ve hata işlemeyi uygulayın.
- Kodunuzda LCase kullanırken tutarlılığı koruyun.
