excel剪切、复制和粘贴操作,使它们不会破坏已设置的单元格格式
发布时间:2023-01-25 22:03:24
基于表格的用户接口的最大问题是:由于采用Excel黙认方式来处理数据的剪切、复制、粘贴以及拖放,而数据输入表中大多数用于编辑的单元格都被指定了特定样式、数据验证或条件格式,因此Excel默认的复制/粘贴会覆盖掉被粘贴单元格中的各种格式,同时Excel默认的剪切方式会将被剪切单元格的格式设置为“通用样式”。Excel的拖放功能也与剪切/复制类似,同样会破坏单元格中的格式。
为避免发生上述情况,可以屏蔽Excel的拖放功能,并编写自已的剪切、复制和粘贴程序。
Dim mbCut As Boolean
Dim mrngSource As Range
‘初始化单元格的复制-粘贴
Public Sub InitCutCopyPaste()
Application.OnKey “^X”, “DoCut”
Application.OnKey “^x”, “DoCut”
Application.OnKey “+{DEL}”, “DoCut”
Application.OnKey “^C”, “DoCopy”
Application.OnKey “^c”, “DoCopy”
Application.OnKey “^{INSERT}”, “DoCopy”
Application.OnKey “^V”, “DoPaste”
Application.OnKey “^v”, “DoPaste”
Application.OnKey “+{INSERT}”, “DoPaste”
Application.OnKey “{ENTER}”, “DoPaste”
Application.OnKey “~”,”DoPaste”
‘关闭拖放操作
Application.CellDragAndDrop = False
End Sub
‘处理剪切单元格
Public Sub DoCut()
If TypeOf Selection Is Range Then
mbCut = True
Set mrngSource = Selection
Selection.Copy
Else
Set mrngSource = Nothing
Selection.Cut
End If
End Sub
‘处理复制单元格
Public Sub DoCopy()
If TypeOf Selection Is Range Then
mbCut = False
Set mrngSource = Selection
Else
Set mrngSource = Nothing
End If
Selection.Copy
End Sub
‘处理粘贴单元格
Public Sub DoPaste()
If Application.CutCopyMode And Not mrngSource Is Nothing Then
Selection.PasteSpecial xlValues
If mbCut Then
mrngSource.ClearContents
End If
Application.CutCopyMode = False
Else
ActiveSheet.Paste
End If
End Sub
将上述代码复制到VBE中,试着运行并熟悉其原理。可以将上述程序嵌入到你正在开发的应用程序的合适位置,结合实际稍作调整,使应用程序更健壮。
猜你喜欢
- Excel表格如何单独插入行或列?在Excel表格中上下都有表,如果直接插入行或列的话,下面的表格也会被影响,怎么样单独插入行列不影响其他的
- excel三栏斜线表头怎么制作步骤一:边框线的添加。边框线的添加别无选择,就使用单元格的边线即可。如下图所示。 &
- 神舟战神G9笔记本是一款2019年上市的娱乐型便携笔记本电脑,其采用了intel第九代酷睿i7处理器以及发烧级独立显卡,能够让用户们有着不错
- Win7旗舰版系统用户在升级到Win10专业版系统后发现设置不见了,想设置点什么不知道从何下手,相信很多小伙伴都有碰到这类的问题,下面小编告
- 在word2007使用过程中,为了使文档中的某些段落看起来更加醒目,我们可以为这些段落添加边框,那么word怎么为某些重要段落加入红色边框呢
- 在Word中,如果包含了错误的自动宏代码,在打开文档的时候,由于自动宏代码的错误,就会导致文档不能正常运行,出现不能打开文档的错误。 &nb
- 在Word中编辑文档时都会注意到在文中文字或字母下面有时会出现红色或绿色的波浪线,这是Word2013中的语言校对造成的。那么word文档中
- 今天Insider会员收到一封电子邮件,通知他们Office 2016预览现在可以在Windows 10预览版上安装,Offcie 2016
- 怎么给Word2007添加拼音指南及设置1、选中需要添加拼音的文字,切换到“开始”选项卡,在“字体”组中单击“拼音指南”按钮。
- 在Excel中,有时通过约定俗成的做法去实现图表会非常烦琐,甚至还会被某个细节耗费掉大量的宝贵时间。以下方法旨在帮助我们重新去认识Excel
- 如何使用Word 2007 Format Painter格式化文本?您可以使用Word 2007 Format Painter将字符和段落格
- Ctrl+E是快速填充的快捷键,利用Ctrl+E快速填充功能可以批量添加单位和符号。一、批量添加单位如图:在数字后面添加单位“元” 
- 许多用户在使用我们的win10系统时,都会发现移动鼠标会出现拖影,这就是鼠标的运行轨迹,这个问题导致用户使用起来很不方便,或部分用户想要使用
- 当我们需要在word的文档中插入一个二次公式和创建一个自定义公式。我们可以使用以下方法设计相应的公式。设计方法1、单击”插入“ — “公式”
- 为大家准备的是我们平时在使用Word时会经常遇到的一些难题的解决办法。譬如Word表格里面文字重叠、无法自动换行等等。下面就开始切入主题!表
- 有道云笔记:旨在以云存储技术帮助用户建立一个可以轻松访问、安全存储的云笔记空间,有道云笔记可以解决个人资料和信息跨平台跨地点的管理问题,有道
- 我们在word中插入图片以后,如果图片比较单调,我们可以对插入的图片设置图片样式效果,如图片的形状、图片边框及图片效果等,word2007设
- 许多用户在使用电脑的时候,经常会需要使用到我的电脑这个功能,但是对于新手用户来说,许多电脑在安装的时候没有我的电脑这个选项,遇到这种情况我们
- Excel已经为我们准备了大量的内置数字格式,但是如果Excel内置的数字格式仍然满足不了需要,那么我们还可以自定义数字格式。如下图所示,在
- 在我们的计算机安装并升级win101903版本系统后,一些小伙伴发现,在此之后,我们的计算机会自动更新最新版本。如果你想关闭自动更新功能,小