分享

VBA后,当前表里的单元格无法进行复制和粘贴

 lwc5577 2018-02-27
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 1 To 100
If Cells(i, 1) <> "" Then
        If Cells(i, 1) < 3000 Or Cells(i, 1) > 200000 Then
        Cells(i, 2).Interior.Color = 200
        Else
        Cells(i, 2).Interior.ColorIndex = none
        End If
    Else
    Cells(i, 2).Interior.ColorIndex = none
End If
Next
End Sub


输入这段代码以后,在表一里面只能输入数据,但是无法复制粘贴单元格,请问是怎么回事呀?谢谢
你这段代码是不是写在下面的事件中?

Private Sub Worksheet………………

同意楼上,是工作表事件导致无法复制粘贴,因为你在做其它操作时触发了事件运行代码导致无法粘贴。拷贝后,点到其它单元格后,触发SelectionChange中其它动作,导致不能粘贴。


解决办法:
1、调出剪贴板,用剪贴板粘贴
 
2、win7系统装Excel 2013,我用13版没这问题,好像以前10版也没这问题了,当时没注意。

本帖最后由 22b 于 2014-6-4 23:50 编辑
su45 发表于 2014-6-4 23:18 
你这段代码是不是写在下面的事件中?

Private Sub Worksheet………………


哎呀 不好意思 忘记复制完整的

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

end sub

确实是写在这里面的


主要想实现某个单元格如果输入的数字不在范围内就改变单元格颜色,但是就无法在excel里面复制粘贴了。谢谢

FnG 发表于 2014-6-4 23:42 
同意楼上,是工作表事件导致无法复制粘贴,因为你在做其它操作时触发了事件运行代码导致无法粘贴,解决办法 ...

你好 我使用的是2003的 有没有更好的解决办法呀?谢谢

建议你删除这段代码,改用条件格式。

事件都贴一下吧,可能不全是这个事件的问题。还有代码不全,就不提取出来问了,即是新手,贴文件是好办法


su45 发表于 2014-6-4 23:53 
建议你删除这段代码,改用条件格式。

谢谢,条件格式使用过了,现在希望能使用vb提高效率,


你的代码中有对其它单元格的操作,肯定会影响复制粘贴的!



如果只是这段代码那就有点问题了。
问题1这段要作啥?不合适!放在这个事件中处理不合适!
Sub Worksheet_Change(ByVal Target as Range)
在这事件中处理会好点,
另外分析一下,是否在该范围内再处理
(谢谢啦 12楼的方法可用 问题解决啦 条件格式确实也是不错的选择)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多