我想使用vba在我的工作表中隱藏列A1。但我得到一個錯誤「無法設置範圍類的隱藏屬性」無法隱藏Excel 97-2003工作簿中的列
這裏是我的代碼:
ActiveWorkbook.Sheets("Project").Activate
ActiveSheet.Unprotect password
Dim cmt As comment
Dim iRow As Integer
For iRow = 1 To Application.WorksheetFunction.CountA(Columns(1))
Set cmt = Cells(iRow, 1).comment
If Not cmt Is Nothing Then
Cells(iRow + 1, 1) = Cells(iRow, 1).comment.Text
Cells(iRow, 1).comment.Delete
Else
MsgBox "No Comments"
End If
Next iRow
MsgBox ActiveSheet.ProtectionMode
ActiveSheet.Columns(1).Select
Selection.EntireColumn.Hidden = True
我得到錯誤
Selection.EntireColumn.Hidden = True
我已經包括行MsgBox檢查工作表是否受到保護,並且該列的單元格中是否有可用的評論。
1st MsgBox返回爲無評論,第二個返回爲false。
所以表單不受保護,評論也不存在。
困惑爲什麼得到錯誤eventhough。
請幫我
UPDATE:
我改變了這樣的代碼:
ActiveWorkbook.Sheets("Project").Activate
Dim sh As Shape
Dim rangeToTest As Range
Dim lRow As Long
Dim c As Range
lRow = ActiveSheet.Range("A" & ActiveSheet.Rows.Count).End(xlUp).Row
Set rangeToTest = ActiveSheet.Range("A1:A" & lRow)
For Each c In rangeToTest
For Each sh In ActiveSheet.Shapes
sh.Delete
Next sh
Next c
ActiveSheet.Range("A1").EntireColumn.Hidden = True
和它的工作。但我已經添加了其他列標題的評論,我將鼠標懸停在單元格上。我現在沒有收到評論..
刪除形狀與評論有關嗎?
改了行這樣的: ActiveSheet.Range(「A1」)EntireColumn.Hidden =真 但仍然是相同的錯誤 – Xavier