Fungsi Kanan VBA

Fungsi Tepat di VBA Excel

Fungsi Kanan sama seperti pada fungsi lembar kerja dan VBA, penggunaan fungsi ini adalah memberi kita substring dari string yang diberikan tetapi pencarian dilakukan dari kanan ke kiri string, ini adalah jenis fungsi string di VBA digunakan dengan metode fungsi application.worksheet.

Fungsi RIGHT di Excel VBA yang digunakan untuk mengekstrak karakter dari sisi kanan nilai teks yang diberikan. Di excel kami memiliki banyak fungsi teks untuk menangani data berbasis teks. Beberapa fungsi yang berguna adalah fungsi LEN, LEFT, RIGHT, MID untuk mengekstrak karakter dari nilai teks. Contoh umum penggunaan fungsi ini adalah mengekstrak nama depan & nama belakang secara terpisah dari nama lengkap.

Rumus KANAN juga ada di lembar kerja. Di VBA kita perlu mengandalkan kelas fungsi lembar kerja untuk mengakses fungsi VBA RIGHT daripada kita memiliki fungsi RIGHT bawaan di VBA juga.

Sekarang lihat sintaks di bawah ini dari rumus VBA RIGHT.

  • String: Ini adalah nilai kami dan dari nilai ini, kami mencoba mengekstrak karakter dari sisi kanan string.
  • Panjang: Dari String yang disediakan berapa banyak karakter yang kita butuhkan. Jika kita membutuhkan empat karakter dari sisi kanan, kita dapat menyediakan argumen sebagai 4.

Misalnya, jika stringnya adalah "Ponsel" dan jika kita ingin mengekstrak kata "Telepon" saja kita dapat memberikan argumen seperti di bawah ini.

KANAN (“Ponsel”, 5)

Alasan saya menyebutkan 5 karena kata “Telepon” memiliki 5 huruf di dalamnya. Di bagian artikel selanjutnya, kita akan melihat bagaimana kita bisa menggunakannya di VBA.

Contoh Fungsi Kanan VBA Excel

Berikut ini adalah contoh dari Right Function VBA Excel.

Anda dapat mendownload Template Excel Fungsi Kanan VBA ini di sini - Template Excel Fungsi Kanan VBA

Contoh 1

Saya akan menunjukkan contoh sederhana untuk memulai prosesnya. Asumsikan Anda memiliki string "New York" dan jika Anda ingin mengekstrak 3 karakter dari kanan ikuti langkah-langkah di bawah ini untuk menulis kode.

Langkah 1: Deklarasikan variabel sebagai VBA String.

Kode:

 Sub Right_Example1 () Dim k Sebagai String End Sub 

Langkah 2: Sekarang untuk variabel ini, kita akan menetapkan nilainya dengan menerapkan fungsi RIGHT.

Kode:

 Sub Kanan_Contoh1 () Dim k Sebagai String k = Kanan (End Sub 

Langkah 3:  Argumen pertama adalah String dan string kami untuk contoh ini adalah "New York".

Kode:

 Sub Right_Example1 () Dim k Sebagai String k = Right ("New York", End Sub 

Langkah 4: Selanjutnya adalah berapa banyak karakter yang kita butuhkan dari string yang disediakan. Dalam contoh ini, kita membutuhkan 3 karakter.

Kode:

 Sub Right_Example1 () Dim k As String k = Right ("New York", 3) End Sub 

Langkah 5: Kami memiliki 2 argumen untuk ditangani, jadi kami selesai. Sekarang tetapkan nilai variabel ini di kotak pesan di VBA.

Kode:

 Sub Right_Example1 () Dim k As String k = Right ("New York", 3) MsgBox k End Sub 

Jalankan kode menggunakan tombol F5 atau secara manual dan lihat hasilnya di kotak pesan.

Dalam kata "New York" dari sisi kanan 3 karakter adalah "ork".

Sekarang saya akan mengubah panjang dari 3 menjadi 4 untuk mendapatkan nilai penuh.

Kode:

 Sub Right_Example1 () Dim k As String k = Right ("New York", 4) MsgBox k End Sub 

Jalankan kode ini secara manual atau menggunakan tombol F5, kita akan mendapatkan “York”.

Contoh # 2

Sekarang lihat satu contoh lagi, kali ini pertimbangkan nilai string sebagai "Michael Clarke".

Jika Anda memasukkan panjang 6, kita akan mendapatkan "Clarke" sebagai hasilnya.

Kode:

 Sub Right_Example1 () Dim k As String k = Right ("Michael Clarke", 6) MsgBox k End Sub 

Jalankan kode ini menggunakan tombol F5 atau secara manual untuk melihat hasilnya.

Fungsi Kanan Dinamis di Excel VBA

Jika Anda mengamati dua contoh kami sebelumnya, kami telah memberikan nomor argumen panjang secara manual. Tetapi ini bukanlah proses yang tepat untuk melakukan pekerjaan itu.

Dalam setiap string, karakter sisi kanan berbeda dalam setiap kasus. Kami tidak dapat merujuk ke panjang karakter secara manual untuk setiap nilai secara berbeda. Di sinilah fungsi string lainnya "Instr" memainkan peran penting.

Fungsi instr mengembalikan posisi karakter yang disediakan dalam nilai string yang disediakan. Misalnya, Instr (1, "Bangalore", "a") mengembalikan posisi huruf "a" dalam string "Bangalore" dari karakter pertama (1) .

Dalam hal ini hasilnya adalah 2 karena dari posisi karakter pertama huruf “a” adalah posisi ke-2.

Jika saya mengubah posisi awal dari 1 menjadi 3 maka akan mengembalikan 5.

Instr (3, "Bangalore", "a") .

The reason why it returns 5 because I mentioned the starting position to look for the letter “a” only from the 3rd letter. So the position of the second appeared “a” is 5.

So, to find the space character of the of each string we can use this. Once we find the space character position we need to minus that from a total length of the string by using LEN.

For example in the string “New York” the total number of characters is 8 including space, and the position of the space character is 4th. So 8-4 = 4 right will extract 4 characters from the right.

Now, look at the below code for your reference.

Code:

 Sub Right_Example3() Dim k As String Dim L As String Dim S As String L = Len("Michael Clarke") S = InStr(1, "Michael Clarke", " ") k = Right("Michael Clarke", L - S) MsgBox k End Sub 

In the above code variable “L” will return 14 and variable “S” will return 8.

In the VBA right formula, I have applied L – S i.e. 14-8 = 6. So from right side 6 characters i.e. “Clarke”.

Loops with Right Function in Excel VBA

When we need to apply the VBA RIGHT function with many cells we need to include this inside the loops. For example, look at the below image.

We cannot apply many lines of the code to extract a string from the right side. So we need to include loops. The below code will do it for the above data.

Code:

 Sub Right_Example4() Dim k As String Dim L As String Dim S As String Dim a As Integer For a = 2 To 5 L = Len(Cells(a, 1).Value) S = InStr(1, Cells(a, 1).Value, " ") Cells(a, 2).Value = Right(Cells(a, 1), L - S) Next a End Sub 

The result of this code is as follows.