Fungsi VBA MID - Bagaimana cara menggunakan Fungsi MID VBA Excel?

Fungsi Excel VBA MID

Fungsi VBA MID mengekstrak nilai dari tengah kalimat atau kata yang disediakan. Fungsi MID dikategorikan di bawah fungsi String dan Teks dan ini adalah fungsi lembar kerja yang berarti untuk menggunakan fungsi ini di VBA kita perlu menggunakan metode application.worksheet.

Ada situasi di mana kita ingin mengekstrak nama depan, nama belakang, atau nama tengah. Dalam situasi tersebut, rumus kategori TEXT sangat membantu untuk memenuhi persyaratan kami. Penggunaan fungsi ini sama dengan referensi lembar kerja, dan sintaksnya juga sama.

Sintaksis

Seperti fungsi MID excel kami, di VBA juga, ia memiliki set nilai sintaks yang serupa. Di bawah ini adalah sintaksnya.

  • String to Search: Ini tidak lain adalah kalimat dari string, yaitu dari string atau kata mana Anda ingin mengekstrak nilainya.
  • Posisi Awal: Dari posisi kalimat mana yang ingin Anda ekstrak. Ini harus berupa nilai numerik.
  • Jumlah Karakter untuk Diekstrak: Dari posisi awal, berapa banyak karakter yang ingin Anda ekstrak? Ini juga harus berupa nilai numerik.

Bagaimana cara menggunakan Fungsi VBA MID?

Contoh 1

Asumsikan Anda memiliki kata "Halo Selamat Pagi," dan Anda ingin mengekstrak "Selamat" dari kalimat ini. Ikuti langkah-langkah di bawah ini untuk mengekstrak nilainya.

Langkah 1: Buat nama makro terlebih dahulu.

Kode:

Sub MID_VBA_Example1 () End Sub

Langkah 2: Deklarasikan variabel sebagai "STRING".

Kode:

Sub MID_VBA_Example1 () Dim MiddleValue As String End Sub

Langkah 3: Sekarang tetapkan nilai ke variabel ini melalui fungsi MID.

Kode:

Sub MID_VBA_Example1 () Redupkan Nilai Tengah Sebagai String MiddleValue = Pertengahan (Sub Akhir

Langkah 4: Argumen pertama adalah String, yaitu dari nilai mana kita ingin mengekstrak. Jadi nilai kami adalah "Halo Selamat Pagi."

Kode:

Sub MID_VBA_Example1 () Redupkan Nilai Tengah Sebagai String MiddleValue = Pertengahan ("Halo Selamat Pagi", End Sub

Langkah 5: Selanjutnya adalah posisi awal karakter yang ingin Anda ekstrak. Dalam hal ini, Selamat pagi dimulai dari karakter ke- 7 .

Catatan: Spasi juga merupakan karakter.

Kode:

Sub MID_VBA_Example1 () Redupkan Nilai Tengah Sebagai String MiddleValue = Pertengahan ("Halo Selamat Pagi", 7 Akhir Sub

Langkah 6: Panjang tidak lain adalah berapa banyak karakter yang ingin Anda ekstrak. Kita perlu mengekstrak 4 karakter disini karena panjang kata “Good” adalah 4 karakter.

Kode:

Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Hello Good Morning", 7, 4) End Sub

Langkah 7: Kami telah menyelesaikan rumusnya. Mari kita tunjukkan hasil dari variabel di kotak pesan.

Kode:

Sub MID_VBA_Example1 () Redupkan Nilai Tengah Sebagai String MiddleValue = Pertengahan ("Halo Selamat Pagi", 7, 4) MsgBox MiddleValue End Sub

Langkah 8: Sekarang jalankan kode ini secara manual atau tekan tombol F5, kotak pesan akan menampilkan kata "Bagus".

Keluaran:

Contoh # 2

Asumsikan Anda memiliki nama depan dan nama belakang, dan kata tersebut adalah "Ramesh, Tendulkar". Di antara Nama Depan & Nama Belakang, karakter pemisah adalah koma (,). Sekarang kita hanya perlu mengekstrak nama depan saja.

Langkah 1: Buat makro dan tentukan variabel.

Kode:

Sub MID_VBA_Example2 () Dim FirstName As String End Sub

Langkah 2: Sekarang tetapkan nilai ke variabel ini melalui fungsi MID.

Kode:

Sub MID_VBA_Example2 () Redup NamaDepan Sebagai String NamaDepan = Pertengahan (End Sub

Langkah 3: String kami adalah "Ramesh.Tendulkar," jadi masukkan kata ini.

Kode:

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

Step 4: Since we are extracting the first name starting position is 1.

Code:

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, let’s 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 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:

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) Selanjutnya i Akhiri Sub

Salin & Tempel kode di atas dalam modul Anda. Setelah menyalin kode, jalankan kode ini menggunakan tombol F5, atau Anda dapat menjalankannya secara manual.

Ini akan memberikan hasil seperti di bawah ini.

Hal-hal untuk diingat

  • Argumen panjang dalam fungsi MID adalah opsional. Jika Anda mengabaikan ini, ini akan mengambil 1 sebagai nilai default.
  • Untuk menentukan panjang atau posisi awal gunakan fungsi Instr bersama dengan fungsi MID.

Artikel yang menarik...