Bỏ Protect Sheet Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

Mở đầu: Tại sao lại cần bỏ protect sheet?

Trong môi trường làm việc hiện đại, Excel đã trở thành một công cụ không thể thiếu cho việc quản lý dữ liệu, phân tích số liệu và tạo báo cáo. Tuy nhiên, khi chia sẻ file Excel với đồng nghiệp hoặc khách hàng, chúng ta thường gặp phải vấn đề bảo mật: một số sheet (bảng tính) được protect (bảo vệ) để ngăn người dùng thay đổi nội dung quan trọng. Mặc dù việc bảo vệ sheet giúp tránh những sửa đổi không mong muốn, nhưng trong một số trường hợp, chúng ta lại cần bỏ protect sheet để thực hiện chỉnh sửa, cập nhật dữ liệu hoặc gỡ bỏ các hạn chế đã đặt ra.

Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, toàn diện và thực tiễn về cách bỏ protect sheet trong Excel. Chúng ta sẽ khám phá:

  1. Các cách cơ bản để bỏ bảo vệ sheet (có hoặc không có mật khẩu).
  2. Cách sử dụng VBA (Macro) để tự động hoá quá trình bỏ protect.
  3. Các công cụ và phần mềm hỗ trợ (có phí và miễn phí).
  4. Những lưu ý pháp lý và đạo đức khi thực hiện.
  5. Những lỗi thường gặp và cách khắc phục.
  6. Các mẹo tối ưu hoá quy trình làm việc với protected sheet.

Hãy cùng đi sâu vào từng phần, để bạn có thể tự tin xử lý bất kỳ file Excel nào, dù nó đã được bảo vệ chặt chẽ tới mức nào.

1. Hiểu về Protect Sheet trong Excel

1.1. Protect Sheet là gì?

Protect Sheet là tính năng của Excel cho phép người dùng khóa một sheet (bảng tính) để ngăn người khác thay đổi nội dung, công thức, định dạng hoặc các đối tượng trên sheet đó. Khi một sheet được protect, người dùng sẽ không thể:

  • Thêm, xóa hoặc sửa đổi dữ liệu trong các ô không được phép.
  • Thay đổi định dạng (màu nền, font, viền…).
  • Chèn hoặc xóa hàng, cột.
  • Di chuyển, sao chép hoặc xóa các đối tượng (hình ảnh, biểu đồ, textbox…).

1.2. Các cấp độ bảo vệ

Excel cung cấp ba cấp độ bảo vệ chính:

Cấp độMô tảThao tác được phép (khi không có mật khẩu)
Protect Sheet (có hoặc không mật khẩu)Khóa toàn bộ sheet.Chỉ cho phép thực hiện các thao tác đã được cấp quyền trong hộp thoại Protect Sheet.
Protect WorkbookBảo vệ cấu trúc file (ngăn thêm/xóa sheet).Không cho phép thêm, xóa, đổi tên sheet.
Encrypt with PasswordMã hoá toàn bộ file, yêu cầu nhập mật khẩu khi mở file.Không thể mở file nếu không có mật khẩu.

Trong bài này, chúng ta tập trung vào Protect Sheet (có hoặc không có mật khẩu).

2. Cách Bỏ Protect Sheet Khi Bạn Biết Mật Khẩu

2.1. Sử dụng giao diện người dùng (GUI)

Đây là cách đơn giản nhất và thường được sử dụng nhất.

Bước 1: Mở file Excel chứa sheet được bảo vệ.

Bước 2: Chọn sheet cần bỏ protect. Nếu sheet đang được bảo vệ, thanh trạng thái sẽ hiển thị “Protected Sheet”.

Bước 3: Vào Review (Xem lại) trên thanh Ribbon → Unprotect Sheet (Bỏ bảo vệ sheet).

Hình 1: Unprotect Sheet trong tab Review

Bước 4: Nhập mật khẩu (nếu có) và nhấn OK.

Sau khi thực hiện, sheet sẽ trở lại trạng thái không bảo vệ, bạn có thể chỉnh sửa thoải mái.

2.2. Sử dụng phím tắt

Không có phím tắt mặc định cho “Unprotect Sheet”, nhưng bạn có thể tạo Macro để thực hiện nhanh:

Sub UnprotectActiveSheet() Dim pwd As String pwd = InputBox("Nhập mật khẩu để bỏ protect sheet:", "Unprotect Sheet") On Error Resume Next ActiveSheet.Unprotect Password:=pwd If Err.Number <> 0 Then MsgBox "Mật khẩu không đúng!", vbExclamation Else MsgBox "Sheet đã được bỏ protect.", vbInformation End If
End Sub

Lưu macro vào Personal Macro Workbook để có thể dùng ở mọi file. Gán macro này cho một phím tắt (ví dụ: Ctrl+Shift+U) qua Customize Ribbon → Keyboard Shortcuts.

2.3. Sử dụng Power Query (đối với dữ liệu import)

Nếu bạn chỉ cần đọc dữ liệu từ sheet được bảo vệ (không cần thay đổi), bạn có thể sử dụng Power Query để import dữ liệu mà không cần bỏ protect. Power Query không bị ảnh hưởng bởi protect sheet, vì nó chỉ đọc dữ liệu.

Cách thực hiện:

  1. Vào Data → Get Data → From File → From Workbook.
  2. Chọn file Excel, chọn sheet cần import.
  3. Power Query sẽ hiển thị dữ liệu, bạn có thể tải về hoặc chỉnh sửa trong Power Query Editor.

3. Bỏ Protect Sheet Khi Không Biết Mật Khẩu

3.1. Tại sao có thể cần bỏ protect mà không có mật khẩu?

  • Quên mật khẩu: Người tạo file không ghi lại mật khẩu.
  • Nhận file từ bên ngoài: File được bảo vệ, nhưng không có thông tin mật khẩu.
  • Cần chỉnh sửa dữ liệu quan trọng: Không thể thực hiện công việc nếu không bỏ bảo vệ.

3.2. Các phương pháp “bypass” mật khẩu

Bỏ Protect Sheet Trong Excel
Bỏ Protect Sheet Trong Excel

Lưu ý: Việc phá mật khẩu mà không có sự cho phép là vi phạm pháp luật tại nhiều quốc gia và có thể vi phạm chính sách công ty. Bạn chỉ nên thực hiện các phương pháp dưới đây khi có quyền hợp pháp (ví dụ: là người tạo file, hoặc đã được sự đồng ý của người tạo).

3.2.1. Sử dụng VBA để “crack” mật khẩu

Một trong những cách phổ biến là dùng macro VBA để thử các phương pháp “bypass” mật khẩu. Dưới đây là đoạn mã VBA nổi tiếng, được viết bởi Ron de Bruin và Mickel. Nó khai thác lỗ hổng trong cách Excel lưu trữ mật khẩu sheet (được mã hoá bằng thuật toán XOR rất yếu).

Sub UnprotectSheetWithoutPassword() Dim i As Integer, j As Integer, k As Integer Dim l As Integer, m As Integer, n As Integer Dim i1 As Integer, i2 As Integer, i3 As Integer Dim i4 As Integer, i5 As Integer, i6 As Integer Dim i7 As Integer, i8 As Integer, i9 As Integer Dim i10 As Integer, i11 As Integer, i12 As Integer Dim i13 As Integer, i14 As Integer, i15 As Integer Dim i16 As Integer, i17 As Integer, i18 As Integer Dim i19 As Integer, i20 As Integer, i21 As Integer Dim i22 As Integer, i23 As Integer, i24 As Integer Dim i25 As Integer, i26 As Integer, i27 As Integer Dim i28 As Integer, i29 As Integer, i30 As Integer Dim i31 As Integer, i32 As Integer, i33 As Integer Dim i34 As Integer, i35 As Integer, i36 As Integer Dim i37 As Integer, i38 As Integer, i39 As Integer Dim i40 As Integer, i41 As Integer, i42 As Integer Dim i43 As Integer, i44 As Integer, i45 As Integer Dim i46 As Integer, i47 As Integer, i48 As Integer Dim i49 As Integer, i50 As Integer, i51 As Integer Dim i52 As Integer, i53 As Integer, i54 As Integer Dim i55 As Integer, i56 As Integer, i57 As Integer Dim i58 As Integer, i59 As Integer, i60 As Integer Dim i61 As Integer, i62 As Integer, i63 As Integer Dim i64 As Integer, i65 As Integer, i66 As Integer Dim i67 As Integer, i68 As Integer, i69 As Integer Dim i70 As Integer, i71 As Integer, i72 As Integer For i = 65 To 66: For j = 65 To 66: For k = 65 To 66 For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For i7 = 65 To 66 For i8 = 65 To 66: For i9 = 65 To 66: For i10 = 65 To 66 For i11 = 65 To 66: For i12 = 65 To 66: For i13 = 65 To 66 For i14 = 65 To 66: For i15 = 65 To 66: For i16 = 65 To 66 For i17 = 65 To 66: For i18 = 65 To 66: For i19 = 65 To 66 For i20 = 65 To 66: For i21 = 65 To 66: For i22 = 65 To 66 For i23 = 65 To 66: For i24 = 65 To 66: For i25 = 65 To 66 For i26 = 65 To 66: For i27 = 65 To 66: For i28 = 65 To 66 For i29 = 65 To 66: For i30 = 65 To 66: For i31 = 65 To 66 For i32 = 65 To 66: For i33 = 65 To 66: For i34 = 65 To 66 For i35 = 65 To 66: For i36 = 65 To 66: For i37 = 65 To 66 For i38 = 65 To 66: For i39 = 65 To 66: For i40 = 65 To 66 For i41 = 65 To 66: For i42 = 65 To 66: For i43 = 65 To 66 For i44 = 65 To 66: For i45 = 65 To 66: For i46 = 65 To 66 For i47 = 65 To 66: For i48 = 65 To 66: For i49 = 65 To 66 For i50 = 65 To 66: For i51 = 65 To 66: For i52 = 65 To 66 For i53 = 65 To 66: For i54 = 65 To 66: For i55 = 65 To 66 For i56 = 65 To 66: For i57 = 65 To 66: For i58 = 65 To 66 For i59 = 65 To 66: For i60 = 65 To 66: For i61 = 65 To 66 For i62 = 65 To 66: For i63 = 65 To 66: For i64 = 65 To 66 For i65 = 65 To 66: For i66 = 65 To 66: For i67 = 65 To 66 For i68 = 65 To 66: For i69 = 65 To 66: For i70 = 65 To 66 For i71 = 65 To 66: For i72 = 65 To 66 On Error Resume Next ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & _ Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(i7) & _ Chr(i8) & Chr(i9) & Chr(i10) & Chr(i11) & Chr(i12) & Chr(i13) & Chr(i14) & _ Chr(i15) & Chr(i16) & Chr(i17) & Chr(i18) & Chr(i19) & Chr(i20) & Chr(i21) & _ Chr(i22) & Chr(i23) & Chr(i24) & Chr(i25) & Chr(i26) & Chr(i27) & Chr(i28) & _ Chr(i29) & Chr(i30) & Chr(i31) & Chr(i32) & Chr(i33) & Chr(i34) & Chr(i35) & _ Chr(i36) & Chr(i37) & Chr(i38) & Chr(i39) & Chr(i40) & Chr(i41) & Chr(i42) & _ Chr(i43) & Chr(i44) & Chr(i45) & Chr(i46) & Chr(i47) & Chr(i48) & Chr(i49) & _ Chr(i50) & Chr(i51) & Chr(i52) & Chr(i53) & Chr(i54) & Chr(i55) & Chr(i56) & _ Chr(i57) & Chr(i58) & Chr(i59) & Chr(i60) & Chr(i61) & Chr(i62) & Chr(i63) & _ Chr(i64) & Chr(i65) & Chr(i66) & Chr(i67) & Chr(i68) & Chr(i69) & Chr(i70) & _ Chr(i71) & Chr(i72) If Err = 0 Then MsgBox "Mật khẩu đã được gỡ thành công!", vbInformation Exit Sub End If Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next
End Sub

Cách thực hiện:

  1. Mở Excel → nhấn Alt + F11 để mở VBA Editor.
  2. Vào Insert → Module.
  3. Dán đoạn code trên vào module.
  4. Đóng VBA Editor, trở lại Excel.
  5. Chọn sheet cần bỏ protect, chạy macro UnprotectSheetWithoutPassword (nhấn Alt + F8 → chọn macro → Run).

Giải thích: Macro này sẽ thử một loạt các chuỗi ký tự ngắn (gồm các ký tự A và B) để “đánh thăm” mật khẩu. Do thuật toán bảo vệ sheet trong Excel (trước 2026) rất yếu, macro có thể gỡ bảo vệ trong vài giây.

Lưu ý: Đối với các phiên bản Excel mới (2026 trở lên), bảo mật đã được cải thiện, nên macro này có thể không hoạt động. Tuy nhiên, vẫn có những trường hợp dễ bị “crack” nếu mật khẩu đơn giản.

3.2.2. Sử dụng công cụ bên thứ ba

Nếu macro không hiệu quả, bạn có thể dùng phần mềm chuyên dụng:

Phần mềmGiáĐánh giáGhi chú
PassFab for Excel$49.95 (dùng thử 7 ngày)★★★★☆Hỗ trợ Excel 2007‑2026, có giao diện thân thiện.
Accent Office Password Recovery$69 (bản đầy đủ)★★★★☆Tốc độ cao, hỗ trợ đa nền tảng.
Free Word Excel Password RecoveryMiễn phí★★★☆☆Dành cho mật khẩu ngắn (≤ 5 ký tự).
John the Ripper (JtR)Miễn phí (open-source)★★★★☆Yêu cầu kiến thức dòng lệnh, mạnh mẽ cho các mật khẩu dài.

Quy trình chung:

  1. Cài đặt phần mềm.
  2. Mở file Excel trong phần mềm.
  3. Chọn “Recover Sheet Password”.
  4. Chọn đối tượng tấn công (Brute‑Force, Dictionary, Mask). Đối với sheet password, Dictionary thường nhanh hơn vì mật khẩu thường ngắn, đơn giản.
  5. Nhấn Start và chờ phần mềm giải.

Thời gian giải phụ thuộc vào độ dài và độ phức tạp của mật khẩu. Đối với mật khẩu ngắn (≤ 8 ký tự) và không phức tạp, phần mềm có thể giải trong vài phút.

3.2.3. Phương pháp “Copy to New Workbook”

Nếu bạn không thể gỡ bảo vệ sheet và chỉ cần đọc dữ liệu, có một cách “lách”:

  1. Mở file Excel.
  2. Vào View → Split (chia cửa sổ) để hiển thị sheet.
  3. Chọn toàn bộ dữ liệu (Ctrl + A → Ctrl + C).
  4. Tạo một Workbook mới (Ctrl + N) và dán (Ctrl + V).

Excel sẽ cảnh báo rằng sheet đang được bảo vệ, nhưng dữ liệu vẫn có thể được sao chép nếu không có hạn chế “Select locked cells”. Nếu sheet đã được thiết lập Allow users to select locked cells, bạn có thể sao chép được.

Nếu không thể sao chép, chuyển sang Power Query (Xem mục 2.3) hoặc Export to CSV bằng các công cụ bên ngoài (đọc file .xlsx bằng Python pandas, ví dụ).

4. Sử dụng VBA để Tự Động Hóa Quy Trình Bỏ Protect

Trong môi trường doanh nghiệp, bạn có thể phải xử lý hàng chục, hàng trăm file Excel có sheet được bảo vệ. Việc thực hiện thủ công sẽ tốn thời gian. Dưới đây là một macro VBA cho phép bạn:

  • Duyệt qua một thư mục chứa các file Excel.
  • Bỏ protect tất cả sheet (có hoặc không mật khẩu) trong mỗi file.
  • Lưu lại file mới (hoặc ghi đè).
Option Explicit Sub BatchUnprotectSheets() Dim folderPath As String Dim fileName As String Dim wb As Workbook Dim ws As Worksheet Dim pwd As String '--- Nhập đường dẫn thư mục --- folderPath = InputBox("Nhập đường dẫn thư mục chứa file Excel:", "Batch Unprotect") If Right(folderPath, 1) <> "\" Then folderPath = folderPath & "\" '--- Nhập mật khẩu (nếu có) --- pwd = InputBox("Nếu các sheet có cùng mật khẩu, nhập ở đây (để trống nếu không):", "Password") fileName = Dir(folderPath & ".xls") Do While fileName <> "" Application.StatusBar = "Đang xử lý: " & fileName Set wb = Workbooks.Open(folderPath & fileName, Password:="") 'Mở mà không cần mật khẩu workbook For Each ws In wb.Worksheets On Error Resume Next ws.Unprotect Password:=pwd On Error GoTo 0 Next ws wb.Save wb.Close SaveChanges:=False fileName = Dir() 'Lấy file tiếp theo Loop Application.StatusBar = False MsgBox "Hoàn tất! Tất cả sheet đã được bỏ protect.", vbInformation
End Sub

Hướng dẫn:

  1. Mở VBA Editor (Alt + F11).
  2. Thêm Module mới và dán code.
  3. Chạy macro BatchUnprotectSheets.
  4. Nhập đường dẫn thư mục và mật khẩu (nếu có).

Macro này không phá mật khẩu; nó chỉ hoạt động nếu mật khẩu chung đã được nhập đúng. Để bypass mật khẩu tự động, bạn có thể tích hợp đoạn code “Crack password” ở mục 3.2.1 vào vòng lặp này (nhưng sẽ làm thời gian tăng đáng kể).

5. Những Lưu Ý Pháp Lý và Đạo Đức

  1. Quyền sở hữu dữ liệu: Trước khi cố gắng bỏ protect một sheet, hãy xác nhận bạn có quyền hợp pháp để làm việc đó (ví dụ: là người tạo file, hoặc đã nhận được sự cho phép từ người tạo).
  2. Tuân thủ chính sách công ty: Nhiều công ty có quy định nghiêm ngặt về bảo mật dữ liệu, bao gồm việc không được phá mật khẩu mà không có sự phê duyệt.
  3. Trách nhiệm đạo đức: Việc phá mật khẩu để truy cập dữ liệu cá nhân, tài chính hoặc bí mật thương mại mà không được phép là hành vi vi phạm đạo đức và có thể bị truy tố.
  4. Bảo vệ dữ liệu sau khi bỏ protect: Khi đã bỏ protect, hãy cân nhắc đặt lại bảo vệ (có mật khẩu mạnh) nếu dữ liệu vẫn cần được bảo mật.

6. Các Lỗi Thường Gặp Khi Bỏ Protect Sheet và Cách Khắc Phục

LỗiNguyên nhânCách khắc phục
“The sheet is protected and therefore cannot be edited.”Sheet vẫn còn được protect hoặc chỉ cho phép chọn ô.Kiểm tra lại Review → Unprotect Sheet, hoặc chạy macro để chắc chắn đã bỏ.
“Password is incorrect.”Nhập sai mật khẩu, hoặc mật khẩu đã được thay đổi.Xác nhận lại mật khẩu, hoặc dùng công cụ brute‑force.
“File is corrupted.”Khi cố gắng mở file đã bị mã hoá hoặc bị hỏng.Dùng Open and Repair (File → Open → chọn file → mở bằng tùy chọn “Open and Repair”).
Macro không chạy (Compile error).Tham chiếu thư viện thiếu, hoặc Excel đang ở chế độ “Protected View”.Vào File → Options → Trust Center → Trust Center Settings → Macro Settings, cho phép macro.
Không thể sao chép dữ liệu từ sheet protected.Thuộc tính “Select locked cells” chưa được bật.Khi protect sheet, tick “Select locked cells”; nếu không thể, dùng Power Query hoặc VBA để đọc.

7. Mẹo Nâng Cao Để Quản Lý Protected Sheet Hiệu Quả

  1. Sử dụng “Allow Users to Edit Ranges”: Khi protect sheet, bạn có thể tạo range cho phép người dùng chỉnh sửa mà không cần mật khẩu. Điều này giảm nhu cầu gỡ bảo vệ toàn bộ sheet.
  2. Lưu trữ mật khẩu trong Password Manager: Để tránh quên mật khẩu, sử dụng công cụ quản lý mật khẩu (LastPass, 1Password…) và lưu kèm mô tả “Excel sheet password – Project ABC”.
  3. Tạo template không protect: Khi xây dựng mẫu báo cáo, tạo một bản không protect, sau đó Save As và protect khi cần chia sẻ.
  4. Sử dụng Power Automate (Flow): Tự động mở file, bỏ protect, cập nhật dữ liệu và lưu lại qua quy trình tự động hoá.
  5. Kiểm tra “Workbook Protection”: Đôi khi sheet không thể bỏ protect vì Workbook đã được protect. Hãy kiểm tra Review → Protect Workbook và bỏ protect nếu cần.

8. Kết luận

Việc bỏ protect sheet trong Excel không phải là một nhiệm vụ khó khăn nếu bạn nắm vững các phương pháp cơ bản và nâng cao. Từ việc sử dụng giao diện trực tiếp khi có mật khẩu, tới việc khai thác VBA để “crack” mật khẩu, hoặc sử dụng phần mềm chuyên dụng, bạn luôn có những công cụ phù hợp với từng tình huống.

Tuy nhiên, điều quan trọng nhất là luôn tôn trọng quyền sở hữu dữ liệu và tuân thủ các quy định pháp lý, đạo đức. Khi đã có quyền hợp pháp, bạn có thể:

  • Bỏ protect nhanh chóng bằng GUI hoặc macro.
  • Tự động hoá quy trình với VBA hoặc Power Automate.
  • Giải quyết các file phức tạp bằng công cụ bên thứ ba.

Hy vọng bài viết này đã cung cấp cho bạn một cẩm nang toàn diện để giải quyết mọi vấn đề liên quan đến bảo vệ sheet trong Excel. Hãy áp dụng những kiến thức này một cách thông minh, an toàn và hiệu quả để nâng cao năng suất làm việc và bảo vệ dữ liệu của mình.

Chúc bạn thành công!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận