excel vba:将表格单元格设置为只读

时间:2016-09-02 21:59:43

标签: excel-vba vba excel

是否可以将表格中的特定单元格设置为“只读”? 或者,将表格中的列设置为“只读”'? 这就是我想要做的事情:

Sub TableInsertRow()
    Dim oLo As ListObject
    Dim oNewRow As ListRow

    Set oLo = ActiveSheet.ListObjects("Table1")

    oLo.TableStyle = "tablestylelight3"
   'insert below

    Set oNewRow = oLo.ListRows.Add(AlwaysInsert:=True)

    oNewRow.Range.Cells(1, 1).Value = "Value For New cell"
    oNewRow.Range.Cells(1, 5).ReadOnly = True
    oNewRow.Range.Cells(1, 6).ReadOnly = True
    oNewRow.Range.Cells(1, 7).ReadOnly = True

End Sub

最后3行显然不是正确的语法,而是我想要完成的想法。 或者,如果表的列可以设置为只读,那么也可以。

1 个答案:

答案 0 :(得分:0)

您可以使用此基本脚本制作一些单元格范围 ReadOnly

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(ActiveCell, Range("A2:B4")) Is Nothing Then 'We make A2:B4 range readonly
Range("A1").Select 'when user selects some cell from the range above
MsgBox ("These cells are Readonly,So you can not Change") 'He will receive this massage
End If
End Sub

只需打开VB编辑器( ALT + F11 ),选择要打开只读单元格的工作表 - 双击,粘贴此代码。

很久以前从here

开始