Jac bertanya:
Saya menghasilkan jadual, jumlah lajur yang sama tetapi setiap kali bilangan baris berbeza. Saya dapat menentukan tanpa masalah baris terakhir dan lajur terakhir untuk membuat pengiraan yang saya perlukan dalam makro. Sekarang tujuannya adalah untuk menambahkan makro ini kemungkinan untuk menamakan jadual (dengan nama yang sama setiap kali), tetapi dalam makro julat sel yang berkaitan dengan lembaran kerja adalah R1C1: RxCy, saya tidak tahu bagaimana menulis julat menggunakan nilai lastrow dan lastcolumn (yang mewakili lajur dan baris terakhir jadual) dengan sistem RC (saya bahkan tidak tahu sama ada mungkin).
Sebilangan besar pengaturcara VBA akan menggunakan kaedah berikut, yang menggunakan kaedah Names.Add.
Sub Method1() LastRow = Cells(65536, 1).end(xlUp).row LastCol = Cells(1, 255).End(xlToLeft).column MyArea = "='" & ActiveSheet.Name & "'!R1C1:R" & LastRow & "C" & LastCol ActiveWorkbook.Names.Add Name:="TheData", RefersToR1C1:=MyArea End Sub
Terdapat kaedah yang lebih mudah untuk menetapkan nama julat. Empat pernyataan berikut semuanya setara. Dua yang terakhir jauh lebih mudah:
ActiveWorkbook.Names.Add Name:="TheData", RefersToR1C1:="=Sheet1!R1C1:R10C5" ActiveWorkbook.Names.Add Name:="TheData", RefersTo:="=Sheet1!A1:E10" Range("A1:E10").Name = "TheData" Cells(1, 1).Resize(10, 5).Name = "TheData"
Jac - Saya akan menyesuaikan baris terakhir untuk digunakan:
Sub Method2() LastRow = Cells(65536, 1).end(xlUp).row LastCol = Cells(1, 255).End(xlToLeft).column Cells(1, 1).Resize(LastRow, LastCol).Name = "TheData" End Sub
Saya belajar jalan pintas ini untuk memberikan nama pelbagai dari Rujukan Pengatur Program Bovey & Bullen's Excel 2002 VBA. Versi 2002 buku ini mempunyai bulatan sekitar versi 2000. Untuk wang saya, mana-mana programmer Excel VBA memerlukan buku itu di sebelah kanannya. Salinan saya bertelinga dan tidak boleh dijangkau.