VBA MID İşlevi - Excel VBA MID İşlevi nasıl kullanılır?

İçindekiler

Excel VBA MID İşlevi

VBA MID işlevi, verilen cümlenin veya sözcüğün ortasındaki değerleri ayıklar. MID işlevi, String and Text işlevi altında kategorize edilir ve bu işlevi VBA'da kullanmak için application.worksheet yöntemini kullanmamız gereken bir çalışma sayfası işlevidir.

İlk adı, soyadı veya ikinci adı çıkarmak istediğimiz durumlar vardır. Bu durumlarda, METİN kategorisi formülleri gereksinimlerimizi karşılamada yardımcı olur. Bu işlevin kullanımı çalışma sayfası başvurusuyla aynıdır ve sözdizimi de aynıdır.

Sözdizimi

Excel MID işlevimiz gibi, VBA'da da benzer bir sözdizimi değerleri kümesine sahiptir. Sözdizimi aşağıdadır.

  • Aranacak Dize: Bu, dizenin cümlesinden başka bir şey değildir, yani değerleri çıkarmak istediğiniz dizge veya kelimeden başka bir şey değildir.
  • Başlangıç ​​Konumu: Cümlenin hangi konumundan çıkarmak istediğinizi belirtir. Bu sayısal bir değer olmalıdır.
  • Ayıklanacak Karakter Sayısı: Başlangıç ​​konumundan kaç karakter ayıklamak istiyorsunuz? Bu aynı zamanda sayısal bir değer olmalıdır.

VBA MID İşlevi nasıl kullanılır?

Örnek 1

"Merhaba Günaydın" kelimesine sahip olduğunuzu ve bu cümleden "İyi" yi çıkarmak istediğinizi varsayalım. Değeri çıkarmak için aşağıdaki adımları izleyin.

Adım 1: Önce bir makro adı oluşturun.

Kod:

Alt MID_VBA_Example1 () Son Alt

2. Adım: Bir değişkeni "STRING" olarak bildirin.

Kod:

Sub MID_VBA_Example1 () Dim MiddleValue As String End Sub

Adım 3: Şimdi, MID işlevi aracılığıyla bu değişkene bir değer atayın.

Kod:

Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid (End Sub

Adım 4: İlk argüman String, yani hangi değerden çıkarmak istediğimizdir. Dolayısıyla değerimiz "Merhaba Günaydın".

Kod:

Alt MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Merhaba Günaydın", Son Alt

Adım 5: Sıradaki, çıkarmak istediğiniz karakterin başlangıç ​​pozisyonudur. Bu durumda, Günaydın bir 7'den başlar inci karakter.

Not: Boşluk da bir karakterdir.

Kod:

Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Merhaba Günaydın", 7 End Sub

Adım 6: Uzunluk, kaç karakter çıkarmak istediğinizden başka bir şey değildir. “İyi” kelimesinin uzunluğu 4 karakter olduğu için buraya 4 karakter çıkarmamız gerekiyor.

Kod:

Alt MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Merhaba Günaydın", 7, 4) Son Alt

Adım 7: Formülü tamamladık. Mesaj kutusunda değişkenin sonucunu gösterelim.

Kod:

Alt MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Merhaba Günaydın", 7, 4) MsgBox MiddleValue End Sub

8. Adım: Şimdi bu kodu manuel olarak çalıştırın veya F5 tuşuna basın, mesaj kutusu "İyi" kelimesini göstermelidir.

Çıktı:

Örnek 2

Bir adınız ve soyadınızın birlikte olduğunu ve kelimenin "Ramesh, Tendulkar" olduğunu varsayalım. Ad ve Soyad arasında, ayırma karakteri virgüldür (,). Şimdi sadece ilk adı çıkarmamız gerekiyor.

Adım 1: Bir makro oluşturun ve bir değişken tanımlayın.

Kod:

Sub MID_VBA_Example2 () Dim FirstName As String End Sub

Adım 2: Şimdi, MID işlevi aracılığıyla bu değişkene bir değer atayın.

Kod:

Alt MID_VBA_Example2 () Dim FirstName As String FirstName = Mid (End Sub

Adım 3: Dizimiz “Ramesh.Tendulkar”, bu yüzden bu kelimeyi girin.

Kod:

Alt MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", End Sub

Adım 4: İlk adı çıkardığımız için başlangıç ​​konumu 1'dir.

Kod:

Alt MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, End Sub

Adım 5: Doğrudan 6 olarak girebileceğiniz karakterin uzunluğu, ancak bu en iyi yol değil. Uzunluğu belirlemek için Instr adında bir formül daha uygulayalım.

Kod:

Alt MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (End Sub

Adım 6: Bu başlangıç ​​konumu için 1'dir.

Kod:

Alt MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, End Sub

7. Adım: Dize 1 bizim adımızdır, yani "Ramesh, Tendulkar".

Kod:

Sub MID_VBA_Example2() Dim FirstName As String FirstName = Mid("Ramesh,Tendulkar",1,InStr(1,"Ramesh,Tendulkar", End Sub

Step 8: String 2 what is the separator of first name & last name, i.e., comma (,).

Code:

Sub MID_VBA_Example2() Dim FirstName As String FirstName = Mid("Ramesh,Tendulkar",1,InStr(1,"Ramesh,Tendulkar",",") End Sub

Note: Instr function will return how many characters are there in the word “Ramesh, Tendulkar” from the string 1 position to the string 2 positions, i.e., until comma (,). So Instr will return 7 as a result, including comma (,).

Step 9: Since Instr function returns no., of characters including comma (,) we need to minus 1 character here. So enter -1 after the close of Instr function.

Code:

Sub MID_VBA_Example2() Dim FirstName As String FirstName = Mid("Ramesh,Tendulkar", 1, InStr(1, "Ramesh,Tendulkar", ",") - 1) End Sub

Step 10: Now show the value of the variable in the message box.

Code:

Sub MID_VBA_Example2() Dim FirstName As String FirstName = Mid("Ramesh,Tendulkar", 1, InStr(1, "Ramesh,Tendulkar", ",") - 1) MsgBox FirstName End Sub

Step 11: Run this code using the F5 key, or you can run this code manually. We would get the first name in the message box.

Output:

Example #3

Now I will give you one assignment to solve. I have a list of First Name & Last Name.

From this list, I want you to extract the first name only. All the best!!!!.

Ok, If you have tried and not able to get the result, then the below code would help you in this.

Code:

Alt MID_VBA_Example3 () Dim i As Long For i = 2 to 15 Cell (i, 2) .Value = Mid (Cells (i, 1) .Value, 1, InStr (1, Cells (i, 1) .Value, " , ") - 1) Sonraki i Sub Sub

Yukarıdaki kodu kopyalayıp modülünüze yapıştırın. Kodu kopyaladıktan sonra, bu kodu F5 tuşunu kullanarak çalıştırın veya manuel olarak çalıştırabilirsiniz.

Aşağıdaki gibi bir sonuç vermelidir.

Hatırlanacak şeyler

  • MID işlevindeki uzunluk bağımsız değişkeni isteğe bağlıdır. Bunu göz ardı ederseniz, varsayılan değer olarak 1 alacaktır.
  • Uzunluğu veya başlangıç ​​konumunu belirlemek için MID işlevinin yanı sıra Instr işlevini kullanın.

Ilginç makaleler...