Pilih seluruh kolom dikurangi baris tajuk di makro Excel

8

Bagaimana cara saya mengakses rentang yang sesuai dengan seluruh kolom mulai dari baris 2 (ada baris header)?

Akhir pemilihan harus merupakan sel non-kosong terakhir di kolom.

Dave
sumber

Jawaban:

5

Lihat artikel Dukungan Microsoft Cara memilih sel / rentang dengan menggunakan prosedur Visual Basic di Excel , # 19 ( Cara Memilih Seluruh Rentang Sel Bersebelahan dalam Kolom ).

Peter Mortensen
sumber
Itu memilih lebih dari satu juta baris di buku kerja yang saya gunakan meskipun semuanya di atas 300 atau lebih kosong.
Dave
bagaimana dengan: Sub LastCellBeforeBlankInColumn () / Range ("A1"). End (xldown) .Pilih / End Sub
2

Coba ini:

Range(Range("A2"),Range("A2").End(xldown)).Select

atau ini:

Range(Range(Cells(2, 1), Cells(2, 1)), Range(Cells(65535, 1), Cells(65535, 1)).End(xlUp)).Select
Michael Galos
sumber
2

Mengacu pada jawaban SO ini , satu-satunya metode aman adalah .find()metode.
Semua metode lain dapat memberikan hasil yang salah jika Anda sebelumnya menghapus beberapa sel.

Contoh untuk mendapatkan sel terakhir

Lastrow =  Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Lastcol =  Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column

Dan jawaban spesifik untuk pertanyaan Anda (dengan asumsi data Anda ada di kolom 2, mulai dari baris 2)

Range([B2], [B:B].Find("*", [B1], , , xlByRows, xlPrevious)).select

masukkan deskripsi gambar di sini

nixda
sumber
1

Anda bisa menggunakan pintasan keyboard Excel. Coba Ctrl+ Home.

Ini akan membawa Anda ke sel A1 (jika Anda belum menggunakan panel beku). Turun satu sel dan kemudian gunakan tombol Ctrl+ Shift+ Down arrowuntuk memilih hingga baris yang dimasukkan terakhir.

Jika Anda harus memilih nilai kolom, gunakan right arrowtombol sebagai ganti down arrowtombol.

Peter Mortensen
sumber
0

Potongan kode ini rata-rata segalanya kecuali tajuk dengan tajuk di Sel "B1"

Dim GG as Long
GG = Application.WorksheetFunction.Average(ActiveSheet.Range("B2", Range("B2").End(xlDown)))
RWB
sumber