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

Excel VBA MID İşlevi

VBA MID işlevi, verilen cümle veya sözcüğün ortasından değerleri çıkarır. MID işlevi, Dize ve Metin işlevi altında kategorize edilmiştir 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 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?

Bu VBA MID Fonksiyon Şablonunu buradan indirebilirsiniz - VBA MID Fonksiyon Şablonu

Örnek 1

"Merhaba Günaydın" kelimesine sahip olduğunuzu ve bu cümleden "İyi" yi çıkarmak istediğinizi varsayın. 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 

Adım 2: 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. Yani 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 7. karakterden başlar.

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 

7. Adım: 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 

Adım 8: Ş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 bu değişkene MID işlevi aracılığıyla bir değer atayın.

Kod:

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

3. Adım: 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:

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

Step 5: Length of the character you can directly enter as 6 but this is not the best way. In order to determine the length lets apply one more formula called Instr.

Code:

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

Step 6: For this starting position is 1.

Code:

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

Step 7: String 1 is our name i.e. “Ramesh, Tendulkar”.

Code:

 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 the 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 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 below code would help you in this.

Code:

 Sub MID_VBA_Example3()     Dim   i   As Long For i = 2   To  15 Cells(i, 2).Value = Mid(Cells(i, 1).Value, 1, InStr(1, Cells(i, 1).Value, ",") - 1)     Next i End Sub 

Copy & Paste the above code in your module. After copying the code, run this code using the F5 key or you can run manually.

It should give the result like the below.

Things to Remember

  • Length argument in MID function is optional. If you ignore this it will take 1 as the default value.
  • In order to determine the length or starting position use Instr function along with MID function.