Saya mencoba mengakses rentang bernama melalui VBA:
Set rng = selectionSht.Parent.Names(rangeName).RefersToRange
Namun, rentang bernama khusus ini dipetakan ke tabel di lembar kerja tersembunyi. Ketika lembar kerja disembunyikan, rentang bernama menghilang dari daftar rentang bernama yang ditunjukkan saat saya pergi ke Formulas->Name Manager
, tetapi muncul kembali dalam daftar ketika saya memperlihatkan sheet. Ini tidak terjadi pada rentang bernama lain yang merujuk ke rentang statis - sepertinya hanya menjadi masalah untuk rentang bernama yang sesuai dengan tabel.
Ketika sheet disembunyikan, baris di atas kode VBA kembali:
Run-time error '1004':
Application-defined or object-defined error
Bagaimana saya bisa membuat rentang bernama ini dapat dibaca saat lembar disembunyikan?
Jawaban:
Anda tidak dapat secara langsung melakukan apa yang Anda inginkan. Di VBA, jika sel tidak terlihat oleh pengguna, maka VBA juga tidak bisa melihatnya. Misalnya jika Anda menetapkan lebar sel ke 0, VBA memperlakukannya sebagai tidak terlihat dan karenanya Anda tidak dapat mengaksesnya, mirip dengan yang Anda miliki di atas.
Cara Anda dapat mencapai tugas sambil menyembunyikan sel / baris / kolom adalah dengan melakukan hal berikut:
Application.ScreenUpdating = False
.Show
area tersembunyi yang Anda referensikan.Hide
area tempat Anda bekerjaApplication.ScreenUpdating = True
kembali.Dari sudut pandang pengguna sejak pemutakhiran dimatikan, sel / baris / kolom tidak pernah ditampilkan tetapi Anda masih dapat mencapai tugas Anda.
sumber