Bagaimana cara membuat rentang bernama menggunakan vba?
Untuk membuat rentang bernama menggunakan VBA, Anda perlu menggunakan properti “Nama” lebih lanjut dengan metode “Tambah”. Dalam metode penambahan Anda memiliki argumen untuk menentukan nama apa yang ingin Anda berikan pada rentang tersebut dan menentukan alamat rentang tersebut (pastikan untuk menggunakan tanda dolar dengan alamat untuk membekukan rentang tersebut).
Buat rentang nama menggunakan VBA
- Tentukan buku kerja tempat Anda ingin membuat rentang bernama.
- Gunakan properti nama, lalu tambahkan metode tambahan.
- Tentukan nama dalam argumen “Nama”.
- Lihat rentang menggunakan argumen “ReferTo”.
Pada contoh di atas, Anda memiliki buku kerja yang aktif, kemudian menggunakan properti “Nama” dengan metode “Tambah” Anda menetapkan nama rentang, dan pada akhirnya, alamat rentang yang ingin Anda gunakan.
Seperti yang saya katakan sebelumnya, dalam rentang alamat Anda perlu menggunakan tanda $ untuk membekukan alamat. Anda juga bisa menggunakan ThisWorkbook untuk merujuk ke buku kerja tempat Anda menulis kode atau Anda bisa menggunakan merujuk ke buku kerja lain menggunakan objek buku kerja.
VBA untuk membuat rentang nama dari pilihan
Anda juga dapat menggunakan properti pilihan untuk membuat rentang bernama dari pilihan. Perhatikan kode berikut.
ActiveSheet.Names.Add Name:="myRangeName", RefersTo:=Selection
Dan pada kode berikut Anda memiliki kotak pesan yang dapat digunakan untuk memasukkan nama yang ingin Anda berikan pada rentang bernama.
Sub vba_named_range() Dim iName As String iName = InputBox("Enter Name for the Selection.") ActiveSheet.Names.Add Name:=iName, RefersTo:=Selection End Sub
Ubah ukuran rentang bernama menggunakan VBA (Dynamic Named Range)
Untuk mengubah ukuran rentang bernama yang sudah ada di lembar kerja, Anda harus menggunakan properti resize dan memberi tahu VBA berapa banyak baris dan kolom yang ingin Anda perluas dari rentang saat ini. Pertimbangkan kode berikut yang memperluas rentang bernama “myRange” yang awalnya memiliki sel A1 sebagai rentangnya tetapi mengubah ukurannya menjadi kolom M dan baris 11.
Sub vba_named_range() Dim iRow As Long Dim iColumn As Long iRow = ActiveSheet.Range("A1").End(xlDown).Row iColumn = ActiveSheet.Range("A1").End(xlToRight).Column ActiveSheet.Range("myRange") _ .Resize(iRow, iColumn).Name = "myRange" End Sub
Saya telah membaginya menjadi tiga bagian untuk memperjelasnya bagi Anda, sekarang mari kita mulai.
- Di bagian PERTAMA Anda memiliki variabel yang dideklarasikan untuk menyimpan baris dan jumlah kolom.
- Di bagian KEDUA, Anda menggunakan metode “END” dengan rentang untuk mendapatkan baris dan kolom terakhir dan menyimpannya untuk variabel.
- Di Bagian TIGA, Anda menggunakan properti Resize dengan rentang bernama “myRange”. Dan setelah itu nomor baris dan kolom yang Anda miliki di variabelnya.
Saat Anda menjalankan kode ini, kode ini akan mengubah ukuran rentang lama berdasarkan data yang Anda miliki dan menjadikannya rentang bernama dinamis. Kapan pun Anda perlu memperbaruinya, Anda dapat menjalankan kode dan mengubah ukuran rentang nama yang ada.