Excel, sözcükler/dizeler arasındaki baştaki, sondaki ve fazladan boşluklardan kurtulmak için kullanabileceğiniz bir TRIM çalışma sayfası işlevine zaten sahiptir.
VBA'da da bir TRIM işlevi vardır (ve tam olarak aynı şeyi yapar - fazladan boşlukları kaldırın).
Neden VBA'da da bir TRIM işlevine ihtiyacımız var?
Adil soru!
Boşluklardan kurtulmak için Excel çalışma sayfalarında yerleşik TRIM işleviyle çalışabilirsiniz. bazı durumlarda bunu VBA kullanarak yapmanız gerekebilir.
Bu, daha büyük bir kodun parçası olabilir.
VBA TRIM işlevinin sözdizimi
TRIM(Dize)
'Dize', bir metin dizesi veya bir metin dizesini tutan bir değişken olabilen argümandır.
Birkaç örnekle VBA TRIM işlevinin nasıl kullanılacağını öğrenelim.
Örnek 1 - Sonucu bir mesaj kutusunda gösterme
A1 hücresinde aşağıdaki metne sahip olduğunuzu varsayalım.
Cümleden önce ve sonra boşluk olduğuna dikkat edin.
Aşağıdaki kod bu cümleyi alır ve fazladan boşlukları kırptıktan sonra sonucu gösterir.
Sub TrimExample1() MsgBox Trim(Range("A1")) End Sub
Örneğin, A1 hücresinde aşağıdaki metne sahip olduğunuzu varsayalım (kelimeler arasında fazladan boşluklar olacak şekilde):
Yukarıdaki VBA kodunu kullanırsam, aşağıda gösterildiği gibi bir mesaj kutusu gösterecektir:
Mesaj kutusu sonucunda görebileceğiniz gibi, kelimeler arasındaki fazladan boşluklar VBA TRIM işlevi tarafından kaldırılmaz.
O halde alternatif nedir?
Sözcükler arasındaki baştaki, sondaki ve çift boşlukları kaldırmak istiyorsanız, aşağıdaki kodu kullanmak daha iyidir:
Sub TrimExample1() MsgBox WorksheetFunction.Trim(Range("A1")) End Sub
Yukarıdaki kod, çalışma sayfası TRIM işlevini kullanır (VBA'da TRIM işlevini kullanmak yerine).
Not: VBA Trim işlevi, yeni satırlar gibi boşluk olmayan karakterleri kaldırmaz (vbNewLine, vbCrLf) vb.
Örnek 2 - Bir Hücre Aralığındaki Baştaki ve Sondaki Boşlukları Hızla Kaldırma
Önde ve sondaki boşlukların olduğu aşağıda gösterildiği gibi bir veri kümeniz olduğunu varsayalım:
Bu verileri anında temizlemek ve baştaki ve sondaki tüm boşlukları kaldırmak için aşağıdaki kodu kullanabilirsiniz:
Sub TrimExample1() Dim Rng As Range Set Rng = Rng Hücresindeki Her Hücre İçin Seçim.Value = Trim(Hücre) Sonraki Hücre End Sub
Yukarıdaki kod, seçimdeki tüm hücrelerden geçer ve baştaki ve sondaki boşlukları kaldırır.
Aşağıdaki Excel/VBA Eğitimlerini de Beğenebilirsiniz:
- Excel'de Verileri Temizlemenin 10 Yolu.
- Excel VBA Bölme İşlevi.
- Excel VBA InStr İşlevi.
- VBA LCase İşlevi.
- VBA UCase İşlevi.
- Excel VBA'da Kullanıcı Tanımlı İşlev (UDF) Oluşturma.