感谢您购买《大全》。由于书中提供的只是示例,所以实际应用时可能会有问题,可以进一步优化代码。请测试。原来上传的文件错误,下面代码可以大致解决复制粘贴的问题,遗漏问题是:如果复制后,在粘贴之前,选中其他单元格不会高亮显示,直到粘贴之后才可以恢复高亮显示效果。 根本原因在于任何改变被复制单元格区域的操作,都会使得原来在剪贴板中的复制失效。楼主可以测试一下:选中A1:A5,CTRL+C复制,A1:A5区域出现虚线框,选中A1改变单元格的底色,虚线框将消失。 Private Sub Worksheet_Change(ByVal Target As Range) If Application.CutCopyMode Then Application.CutCopyMode = False SetColor Target End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Application.CutCopyMode Then Exit Sub Else SetColor Target End If End Sub Private Sub SetColor(ByVal Target As Range) With Target '清除工作表单元格的背景色 .Parent.Cells.Interior.ColorIndex = xlNone '设置选中区域所在行的背景色 .EntireRow.Interior.Color = vbCyan '设置选中区域所在列的背景色 .EntireColumn.Interior.Color = vbCyan End With End Sub
[此贴子已经被作者于2008-2-26 23:36:26编辑过] |