EXCEL VBADA MID FONKSİYONU

 

Excel VBA MID işlevi, belirtilen bir konum ve uzunluktan başlayarak bir dizeden bir alt dize çıkarmak için kullanılan yerleşik bir işlevdir. İşlev üç argüman alır: çıkarılacak dize, başlangıç ​​konumu ve alt dizenin uzunluğu. Dizelerle çalışırken ve onlardan belirli bölümleri çıkarırken çok kullanışlı bir işlevdir.


Bir örneğe bakalım. Burada bize "dd-MMM-yyyy" biçiminde bir dize olarak bir tarih veriliyor. Dize "25-Dec-2023". Bu tarih dizesinin gün kısmını, "25"i çıkarmak istiyoruz. Bunu yapmak için önce tarih dizesini tutacak bir "dateStr" değişkeni bildiriyoruz ve ona "25-Dec-2023"ü ve çıkarılan günü tutacak başka bir değişken olan day'i atıyoruz. Sonra "dateStr"ye atıyoruz.

Daha sonra “dateStr”den günü çıkarmak için VBA MID fonksiyonunu kullanırız. “25” sonucunu gün değişkenine atanmış olarak alırız.

VBA MID Fonksiyonu Giriş

Günün değerini Anlık Pencereye yazdırmak için Debug.Print ifadesini kullanırız .

VBA MID Fonksiyonu Giriş - Çıktı

ÖNEMLİ NOKTALAR

  1. VBA MID fonksiyonu, belirtilen bir konumdan başlayarak bir dizeden bir alt dize çıkarır.
  2. MID işlevi, VBA dilinin bir parçası olarak kullanılabilen yerleşik bir dize işleme işlevidir. Sonuç olarak, VBA kodunuzda MID işlevini kullanmak için herhangi bir harici kitaplığı içe aktarmanız gerekmez.
  3. Başlangıç ​​konumu dizenin uzunluğundan büyükse fonksiyon boş bir dize döndürür.
  4. 'Length' argümanı isteğe bağlıdır. Sağlanmadığında, fonksiyon başlangıç ​​pozisyonundan bitişe kadar tüm karakterleri döndürür.

VBA MID Fonksiyon Sözdizimi

İşte sözdizimi veya VBA MID fonksiyon referansı:

Mid(str, start, [length])

Nerede:

ParametreTanım
strAlt dizenin çıkarılacağı dize.
startÇıkarımın başlaması gereken konum. Dizedeki ilk karakter 1. konumdadır.
lenght(İsteğe bağlı) Çıkarılacak karakter sayısı. Sağlanmazsa, dizenin başlangıç ​​konumundan sonuna kadar tüm karakterler çıkarılır.


VBA MID Fonksiyonu Nasıl Kullanılır?

VBA'da MID fonksiyonunu kullanmak için şu adımları izleyin.

Adım 1: Excel’i açın ve VBA düzenleyicisini açmak için “ALT + F11” tuşlarına basın.

VBA MID Fonksiyonu - Kullanım - Adım 1

Adım 2: Menü çubuğundaki “Ekle”ye tıklayıp “Modül”ü seçerek yeni bir modül ekleyin.

VBA MID Fonksiyonu - Kullanım - Adım 2


Adım 3:
 Aşağıdaki VBA kodunu modül içerisine yazın.

Adım 4: Bu örnekte, VBA MID fonksiyonu, orijinal dize “Hello, World!”den sekizinci konumdan başlayarak 5 karakter uzunluğunda “World” alt dizesini çıkarmak için kullanılır. Çıkarılan alt dize daha sonra MsgBox fonksiyonu kullanılarak bir mesaj kutusunda görüntülenir. VBA Düzenleyicisini kapatın.

Adım 5: Excel'de "Makro" iletişim kutusunu açmak için "Alt + F8" tuşlarına basarak kodunuzu çalıştırın, istediğiniz makroyu seçin ve "Çalıştır" düğmesine tıklayın.

Örnekler

VBA MID fonksiyonunun nasıl kullanılacağına dair bazı örneklere bakalım.

Örnek 1

Bu örnekte, VBA MID fonksiyonunu kullanarak “Merhaba Dünya!” metin dizesinden belirli bir alt dizeyi çıkaracağız ve sonucu VBA'daki Anlık Pencereye yazdıracağız.

Adım 1: Yeni modülde ilk olarak “Example1” adında yeni bir alt rutin tanımlayacağız.

VBA MID Fonksiyonu - Örnek 1 - Adım 1

Adım 2: Burada, 'str' adlı bir değişken bildiriyoruz. 'Dim' anahtar sözcüğü VBA'da bir değişken bildirmek için kullanılır. 'As String' kısmı, 'str' değişkeninin metni tutmak için kullanılacağını belirtir (yani, bir dize değişkenidir).

VBA MID Fonksiyonu - Örnek 1 - Adım 2

Adım 3: Şimdi, "Merhaba Dünya!" metin dizesini 'str' değişkenine atıyoruz. Bu, daha sonra bir alt dize çıkaracağımız dizedir.

VBA MID Fonksiyonu - Örnek 1 - Adım 3

Adım 4 : Bir sonraki satırda iki şey yapacağız.

“Mid(str, 7, 5)”: MID fonksiyonu bir dizeden belirli bir alt dizeyi çıkarmak için kullanılır.

  • Üç argüman alır: orijinal dize, başlangıç ​​konumu ve alt dizenin uzunluğu.
  • Bu durumda, orijinal dize 'str'dir (içinde "Hello World!" ifadesi bulunur), başlangıç ​​konumu 7'dir ve uzunluk 5'tir.
  • Bu, 'str' ifadesinin 7. karakterinden beş karakter uzunluğunda bir alt dize çıkarılacağı anlamına gelir.
  • Dolayısıyla “Merhaba Dünya!” kelimesinden “Dünya” kelimesi çıkarılmış olur.

“Debug.Print”: VBA'da hata ayıklama ve test için kullanılan, sonuç dizisi “World”ü Immediate Window'a yazdırmak için kullanılır. VBA editörünüzde Immediate Window'u görmüyorsanız, açmak için Ctrl + G tuşlarına basın.

VBA MID Fonksiyonu - Örnek 1 - Adım 4

Adım 5: Şimdi modülü kaydedin ve kodu çalıştırın. Alttaki Immediate penceresinde “World” kelimesinin doldurulduğunu göreceksiniz, böylece dizeden belirli bir alt dize çıkarılmış olacak.

VBA MID Fonksiyonu - Örnek 1 - Adım 5

İşte kodun tamamı:

Sub Example1()
Dim str As String
str = “Merhaba Dünya!”
Debug.Print Mid(str, 7, 5)
End Sub


Örnek 2

Bu örnekte, “Merhaba Dünya!” dizesinden bir alt dize çıkarmaya çalışacağız. VBA'da belirtilen konumdan başlayan ve sonucu Hemen Pencereye yazdıran bir dize.

Adım 1: Yeni modülde, “Example2” adında yeni bir alt rutin tanımlayarak başlayalım.

VBA MID Fonksiyonu - Örnek 2 - Adım 1

Adım 2: Sonra, 'Dim' anahtar sözcüğünü kullanarak 'str' adında yeni bir değişken bildiriyoruz. 'As String', VBA'ya 'str'nin bir dize değişkeni olduğunu, yani metin tutacağını söyler.

VBA MID Fonksiyonu - Örnek 2 - Adım 2

Adım 3: Aşağıdaki satırda, "Hello World!" metin dizesini 'str.' değişkenine atıyoruz. Daha sonra bu dizeden bir alt dize çıkaracağız.

VBA MID Fonksiyonu - Örnek 1 - Adım 3

Adım 4: Kodun bir sonraki satırında iki şeyi aşağıdaki gibi tanımlıyoruz.

VBA MID Fonksiyonu - Örnek 2 - Adım 4

“Orta(str, 7)”:

Burada, 'str' “Hello World!” dizesini tutar ve başlangıç ​​pozisyonu 7'dir. MID fonksiyonu, alt dize için uzunluk belirtilmediği için dizenin 7. karakterinden sonuna kadar tüm karakterleri çıkaracaktır. Bu yüzden, “World!” çıkarır.

“Debug.Print”: Bu komut, çıkarılan alt dize “World!”ü VBA'daki Anlık Pencereye yazdırır. Anlık Pencereyi, halihazırda görünür durumda değilse Ctrl + G tuşlarına basarak VBA editörünüzde görebilirsiniz.

Adım 5: Şimdi modülü kaydedin ve kodu çalıştırın. Alttaki Immediate penceresinde “World!” kelimesinin doldurulduğunu göreceksiniz. Böylece, bir dizeden belirli alt dizeyi çıkarmış olursunuz.

VBA MID Fonksiyonu - Örnek 1 - Adım 5

İşte kodun tamamı:

Sub Example2()
Dim str As String
str = “Merhaba Dünya!”
Debug.Print Mid(str, 7)
End Sub


Örnek 3

Bu örnekte, Excel'deki etkin çalışma sayfasının "A1" hücresindeki metinden belirli bir alt dizeyi çıkaracağız. Daha sonra sonucu VBA'daki Immediate Window'a yazdırır.

Adım 1: Yeni modülde “Example3” adlı yeni bir alt rutin tanımlamaya başlayın.

Örnek 3 - Adım 1

Adım 2: Daha sonra 'str' adında 'As String' adında yeni bir değişken tanımlıyoruz; bu, 'str' değişkeninin metin tutmak için tasarlandığı anlamına geliyor.

VBA MID Fonksiyonu - Örnek 1 - Adım 2

Adım 3: Bir sonraki satırda etkin Excel çalışma sayfasının “A1” hücresindeki değeri 'str.' değişkenine atıyoruz. 'Range(“A1”).Value' değeri A1 hücresinden alır. Bu, bir alt dize çıkaracağımız metindir.

Eğer A1 hücresi “John Smith” metnini içeriyorsa, 'str' artık “John Smith” değerini tutacaktır.

Örnek 3 - Adım 3

Adım 4: Burada iki eylem gerçekleştiriyoruz:

Örnek 3 - Adım 4

“Mid(str, 1, 4)”: MID fonksiyonunun üç argümanı vardır: alt dizenin çıkarılacağı dize, çıkarma işleminin başlatılacağı konum ve çıkarılacak karakter sayısı.

Bu durumda, dize 'str', başlangıç ​​konumu 1 ve alt dizenin uzunluğu 4'tür. Bu, fonksiyonun 'str'deki dizeden ilk 4 karakteri çıkardığı anlamına gelir.

“Debug.Print”: Bu komut, MID işlevinin sonucunu VBA'daki Immediate Window'a yazdırır. Immediate Window, VBA kodunu test etmek ve hata ayıklamak için kullanılabilir. Bu pencereyi VBA düzenleyicinizde göremiyorsanız, Ctrl + G tuşlarına basarak açabilirsiniz.

Adım 5: Şimdi modülü kaydedin ve kodu çalıştırın. Alttaki Immediate penceresinin “John” kelimesini doldurduğunu göreceksiniz.

Örnek 3 - Adım 5

İşte kodun tamamı:

Sub Example3()
Dim str As String
str = Range(“A1”).Value
Debug.Print Mid(str, 1, 4)
End Sub

Dikkat Edilmesi Gereken Önemli Noktalar

  1. VBA'da, dize karakterlerinin indekslenmesi 0'dan değil 1'den başlar. Bu, ilk karakterin 1 konumunda olduğu anlamına gelir. Bu, istenen alt dizeyi doğru şekilde çıkarmak için MID işlevinde başlangıç ​​konumunu belirtirken hatırlanması gereken önemli bir husustur.
  2. Eğer 'başlangıç' pozisyonu dizgedeki toplam karakter sayısından büyükse, MID fonksiyonu boş bir dizge döndürecektir. Böyle bir senaryoda herhangi bir hata oluşmayacaktır.
  3. 'Length' parametresi 'start' pozisyonundan başlayarak dizgede bulunan karakter sayısından büyükse, MID fonksiyonu 'start' pozisyonundan dizgenin sonuna kadar olan tüm karakterleri döndürür. Bir hata üretmez.
  4. Sayısal olmayan değerler 'başlangıç' veya 'uzunluk' olarak sağlanırsa, VBA bunları sayılara dönüştürmeye çalışır. Dönüştürme başarısız olursa, VBA bir 'Tür Uyuşmazlığı' hatası verecektir.

Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...