Note: The other languages of the website are Google-translated. Back to English

Bagaimana cara mengunci sel tertentu tanpa melindungi seluruh lembar kerja di Excel?

Biasanya, Anda perlu melindungi seluruh lembar kerja untuk mengunci sel dari pengeditan. Apakah ada metode untuk mengunci sel tanpa melindungi seluruh lembar kerja? Artikel ini merekomendasikan metode VBA untuk Anda.

Kunci sel yang ditentukan tanpa melindungi seluruh lembar kerja dengan VBA


Kunci sel yang ditentukan tanpa melindungi seluruh lembar kerja dengan VBA


Misalkan Anda perlu mengunci sel A3 dan A5 di lembar kerja saat ini, kode VBA berikut akan membantu Anda mencapainya tanpa melindungi seluruh lembar kerja.

1. Klik kanan tab lembar, lalu pilih Lihat kode dari menu klik kanan.

2. Kemudian salin dan tempel kode VBA di bawah ini ke jendela Kode. Lihat tangkapan layar:

Kode VBA: Kunci sel yang ditentukan tanpa melindungi seluruh lembar kerja

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 Then
        If Target.Row = 3 Or Target.Row = 5 Then
            Beep
            Cells(Target.Row, Target.Column).Offset(0, 1).Select
        End If
    End If
End Sub

Note: Di dalam kode, Kolom 1, Baris = 3 serta Baris = 5 menunjukkan sel A3 dan A5 di lembar kerja saat ini akan dikunci setelah menjalankan kode. Anda dapat mengubahnya sesuai kebutuhan.

3. tekan lain + Q tombol secara bersamaan untuk menutup Microsoft Visual Basic untuk Aplikasi jendela.

Sekarang sel A3 dan A5 terkunci di lembar kerja saat ini. Jika Anda mencoba memilih sel A3 atau A5 di lembar kerja saat ini, kursor akan dipindahkan ke sel sebelah kanan secara otomatis.


Terkait artikel:


Alat Produktivitas Kantor Terbaik

Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%

  • Reuse: Masukkan dengan cepat rumus, bagan yang kompleks dan apa pun yang pernah Anda gunakan sebelumnya; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom tanpa kehilangan Data; Pisahkan Konten Sel; Gabungkan Baris / Kolom Duplikat... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Lebih dari 300 fitur canggih. Mendukung Office / Excel 2007-2019 dan 365. Mendukung semua bahasa. Penerapan yang mudah di perusahaan atau organisasi Anda. Fitur lengkap uji coba gratis 30 hari. Jaminan uang kembali 60 hari.
tab kte 201905

Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah

  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Tingkatkan produktivitas Anda hingga 50%, dan kurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Urutkan komentar berdasarkan
komentar (20)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
Saya ingin menyembunyikan rumus di Sel O1. Mohon informasikan formula untuk hal yang sama.
Komentar ini diminimalkan oleh moderator di situs
Ajay sayang,
Untuk menyembunyikan rumus sel, ikuti hyperlink di bawah ini untuk mendapatkan solusinya.
https://www.extendoffice.com/documents/excel/1424-excel-hide-formulas.html
Komentar ini diminimalkan oleh moderator di situs
Ajay sayang,
Jika Anda ingin menyembunyikan rumus di sel O1 tanpa melindungi lembar kerja, silakan coba skrip VBA di bawah ini.
Sub Worksheet_SelectionChange Pribadi (Target ByVal Sebagai Rentang)
Rumus Statis Sebagai String
Jika Target.Address = "$O$1" Maka
Dengan Target
Rumus = .Rumus
.Nilai = .Nilai
Berakhir dengan
Lain
Dengan Rentang("O1")
Jika Tidak .Memiliki Rumus Maka
.Rumus = Rumus
End If
Berakhir dengan
End If
End Sub

Setelah menggunakan kode, tampaknya rumus sel O1 diubah menjadi hasil rumus. Sebenarnya, itu menyembunyikan rumus dengan menampilkan hasil rumus di Formula Bar. Dan rumus akan ditampilkan jika kode tersebut rusak.
Komentar ini diminimalkan oleh moderator di situs
bagaimana saya bisa mengunci rentang baris, katakanlah 4-46 dan kolom 8 dan 10
Komentar ini diminimalkan oleh moderator di situs
AJ yang terhormat,
Jika Anda ingin mengunci rentang baris dan kolom tertentu, silakan coba skrip VBA di bawah ini.

Sub Worksheet_SelectionChange Pribadi (Target ByVal Sebagai Rentang)
Redupkan xRg Sebagai Rentang
Redupkan xRgEx Sebagai Rentang
Redupkan xRgExEach Sebagai Rentang
On Error Resume Next
Application.ScreenUpdating = Salah
Set xRg = Range("H:J,4:46") 'Ubah rentang baris dan rentang kolom yang akan Anda kunci tanpa melindungi lembar kerja
Tetapkan xRgEx = Application.Intersect(xRg, Target)
Jika xRgEx Bukan Apa-apa Kemudian Keluar dari Sub
Sel (1, 1). Pilih 'Tentukan sel yang akan Anda ubah setelah memilih sel yang terkunci
Application.ScreenUpdating = Benar
End Sub
Komentar ini diminimalkan oleh moderator di situs
Ini adalah solusi yang bagus, terutama di buku kerja bersama di mana mengaktifkan/menonaktifkan perlindungan tidak didukung. Terima kasih banyak.
Komentar ini diminimalkan oleh moderator di situs
Kristal yang terhormat,

Anda telah memberi saya solusi (setengahnya) yang telah saya perjuangkan selama beberapa minggu terakhir, tetapi saya memerlukan beberapa petunjuk lagi.

Bagaimana ini bisa diterapkan pada rentang tabel saja, bukan seluruh lembar kerja? Terima kasih sebelumnya.
Komentar ini diminimalkan oleh moderator di situs
Selamat siang,
Seperti kode VBA yang disediakan di bawah ini, harap ubah rentang yang ditentukan "H:J,4:46" ke rentang tabel yang hanya ingin Anda kunci di lembar kerja.
Dan sel (1,1) harus menjadi sel di luar rentang tabel. Saat mengklik sel mana pun dalam rentang tabel, kursor akan dipindahkan ke sel itu secara otomatis.

Sub Worksheet_SelectionChange Pribadi (Target ByVal Sebagai Rentang)
Redupkan xRg Sebagai Rentang
Redupkan xRgEx Sebagai Rentang
Redupkan xRgExEach Sebagai Rentang
On Error Resume Next
Application.ScreenUpdating = Salah
Set xRg = Range("H:J,4:46") 'Ubah rentang baris dan rentang kolom yang akan Anda kunci tanpa melindungi lembar kerja
Tetapkan xRgEx = Application.Intersect(xRg, Target)
Jika xRgEx Bukan Apa-apa Kemudian Keluar dari Sub
Sel (1, 1). Pilih 'Tentukan sel yang akan Anda ubah setelah memilih sel yang terkunci
Application.ScreenUpdating = Benar
End Sub
Komentar ini diminimalkan oleh moderator di situs
Kristal yang terhormat,

Apakah makro ini dapat dijalankan secara otomatis saat membuka file, atau saat mengklik sel mana pun. Saya tidak ingin orang harus menjalankan makro secara manual agar rentang yang diperlukan terlindungi.

Juga, saya perlu melindungi 12 rentang yang tidak berdekatan. Misalnya: I11:I20 dan K11:K20 dan M11:20 dll... Bagaimana saya melakukannya?

Terakhir, dan yang ini mungkin meminta terlalu banyak, tetapi apakah mungkin untuk menerapkan perlindungan ke rentang contoh yang saya berikan di atas, TETAPI kemudian memperluas perlindungan ke baris tambahan saat yang baru ditambahkan? Dengan kata lain, perlindungan akan diterapkan ke I11:I20 dan K11:K20 dan M11:20, tetapi pengguna dapat menambahkan baris baru (baris 21), dengan data baru, tetapi setelah baris baru ditambahkan, maka perlindungan akan berlaku untuk I11:I21 dan K11:K21 dan M11:21. Apakah saya meminta bulan? :-)

Terima kasih untuk semua yang telah Anda berikan! Saya tidak bisa cukup berterima kasih kepada Anda dan orang lain seperti Anda karena telah berbagi pengetahuan Anda. Luar biasa!
Komentar ini diminimalkan oleh moderator di situs
Carlos yang terkasih,
Kode VBA berikut dapat membantu Anda memecahkan masalah. Silakan isi rentang Anda di baris keempat kode dan tekan tombol Alt + Q untuk kembali ke lembar kerja. Kemudian silakan pindah ke lembar kerja lain dan kembali ke lembar saat ini untuk mengaktifkan kode. Terima kasih atas komentarmu.

Redupkan xRg Sebagai Rentang
Sub Worksheet_Activate () Pribadi
Jika xRg Bukan Apa-apa Maka
Atur xRg = Union(Range("I10:I20"), Range("K10:K20"), Range("M10:M20"), Range("O10:O20"))
End If
End Sub
Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Redupkan Aku Sebagai Bilangan Bulat
Redupkan xRgNew Sebagai Rentang
Redupkan xRgLCell Sebagai Rentang
On Error Resume Next
Application.EnableEvents = Salah
Untuk I = 1 Ke xRg.Areas.Count
Tetapkan xRgLCell = xRg.Areas.Item(I)
Tetapkan xRgLCell = xRgLCell(xRgLCell.Count).Offset(1, 0)
Jika Target.Address = xRgLCell.Address Kemudian
Jika xRgNew Bukan Apa-apa Maka
Tetapkan xRgNew = Target
Lain
Setel xRgNew = Union(xRgNew, Target)
End If
End If
Next
Tetapkan xRg = Union(xRg, xRgNew)
Application.EnableEvents = Benar
End Sub
Sub Worksheet_SelectionChange Pribadi (Target ByVal Sebagai Rentang)
Pada Kesalahan GoTo Exitsub
Jika (Tidak Berpotongan(xRg, Target) Tidak Ada) Dan (Target.Count = 1) Maka
Target.Offset(0, 1).Pilih
End If
Keluar:
End Sub
Komentar ini diminimalkan oleh moderator di situs
Kristal yang terhormat,

Terima kasih banyak untuk ini! Ini bekerja dengan sempurna.

Saya telah menggunakan kode dalam komentar Carlos untuk menjalankan makro secara otomatis saat Anda membuka file. Saya bertanya-tanya apakah ada cara untuk memiliki tombol "Batalkan" atau sesuatu seperti itu, yang memungkinkan Anda untuk membatalkan kode itu dan oleh karena itu, membuka kunci rentang yang telah dikunci.

Saya ingin mereka dikunci sebagian besar waktu, tetapi saya ingin membukanya jika saya perlu mengubah data apa pun. Satu-satunya alasan saya tidak melindungi seluruh lembar adalah karena, jika saya melakukannya, itu menonaktifkan kemampuan untuk memperluas tabel. Itu pada gilirannya, memperluas grafik garis.

Terima kasih banyak atas bantuannya!
Komentar ini diminimalkan oleh moderator di situs
Hai Erin,
Anda dapat memecahkan kode secara manual dengan mengklik tombol Break di jendela Microsoft Visual Basic for Applications untuk membuka kunci rentang tersebut. Dan jalankan kode untuk mengaktifkannya kembali. Terima kasih atas komentar Anda.
Komentar ini diminimalkan oleh moderator di situs
Halo,
Komentar faire pour verrouiller de la cellule B8 B10000?
D'avance merci de votre réponse.
Christophe
Komentar ini diminimalkan oleh moderator di situs
Apakah ada fungsi untuk mengatur misalnya Baris 2 sel 13 hingga 900? Atau apakah saya perlu memasukkan setiap nama sel secara manual ke dalam kode?
Komentar ini diminimalkan oleh moderator di situs
Halo,

Saya menggunakan kode yang diberikan kepada Carlos dan melakukan persis seperti yang saya inginkan. Apakah ada cara untuk mengimbangi beberapa rentang dalam ROW di sebelah kanan rentang yang dilindungi (seperti yang sudah dilakukan oleh kode "Carlos"), tetapi memiliki rentang lain yang diimbangi dalam KOLOM ke sel langsung di bawah rentang yang dilindungi? Saya mencoba memasukkan kode "Carlos" dua kali dan mengubah offset, tetapi saya menerima berbagai kesalahan.

Terima kasih
Komentar ini diminimalkan oleh moderator di situs
Hai Charlie,
Maaf belum bisa membantu Anda. Terima kasih atas komentarmu.
Komentar ini diminimalkan oleh moderator di situs
Hai,

Saya telah mencoba menggunakan kode untuk rentang yang telah Anda posting sebelumnya tetapi tidak berfungsi - dapatkah Anda memberi tahu saya apakah saya harus menggabungkan kode untuk rentang di atas atau di bawah?


Terima kasih
Komentar ini diminimalkan oleh moderator di situs
Saya sudah mencoba tidak bisa, Sembunyikan formula tanpa melindungi.
Komentar ini diminimalkan oleh moderator di situs
Apakah ada cara agar kode VBA ini berjalan secara otomatis setiap kali seseorang membuka file?
Komentar ini diminimalkan oleh moderator di situs
Hai Aaron, Setelah menambahkan kode, harap simpan buku kerja sebagai Buku Kerja Berkemampuan Makro Excel (klik File > Save As > tentukan folder untuk file > pilih Buku Kerja Excel dengan Makro Aktif dari Simpan sebagai ketik daftar tarik-turun > Save). Setelah itu, setiap kali Anda membuka file, kode tersebut bekerja secara otomatis.
Belum ada komentar yang diposting di sini
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan