我有一张受保护的工作表。只有一些单元格是可编辑的,用户可以写入但不能像往常一样更改单元格格式。如果他决定将数据从另一个工作表复制并粘贴到我的工作表中,那么另一个工作表的单元格格式将应用于我的单元格。我希望我的单元格在值上可编辑,但它们的单元格格式根本不可编辑!我怎么能这样做?
提前致谢!
马
答案 0 :(得分:4)
我使用此方法只是在用户决定复制并粘贴格式受保护的单元格时才粘贴值:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Application.CutCopyMode = xlCopy Then
Application.EnableEvents = False
Application.Undo
Target.PasteSpecial Paste:=xlPasteValues
Application.EnableEvents = True
End If
End Sub
将任何粘贴撤消到工作表中并再次粘贴(仅限值,无格式化)。
答案 1 :(得分:1)
一种方法是使用worksheet_change事件来查看是否有任何单元格已更改:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("J2").Address Then
'your code
End If
End Sub
接下来将原始格式应用于已更改的单元格。