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中,试着运行并熟悉其原理。可以将上述程序嵌入到你正在开发的应用程序的合适位置,结合实际稍作调整,使应用程序更健壮。


猜你喜欢
- Win7系统怎么自定义鼠标指针?电脑默认的鼠标样式就是白色箭头,看久了感觉很单调,用户其实可以下载自己喜欢的鼠标指针样式进行修改,或者是配合
- win10预览版10125已经在网上现出了真容,今天就为大家带来win10预览版10125更新内容汇总,想了解win10预览版10125的朋
- 一些主播会使用OBS来进行直播,但是发现直播的画面非常糊,导致直播效果非常差,这该如何解决?下面就以Win10系统为例,给大家分享一下OBS
- window10怎么设置桌面日历?在使用系统默认的桌面日历的时候,总是希望有好看的背景和界面,这个时候可以通过个性化设置来修改这些设置,那么
- 电脑出现蓝屏0×00000008E是一种非常常见的蓝屏的问题,虽然重启就能进入系统了,但是如果不彻底解决这个问题,电脑就会经常出现该蓝屏故障
- 办公中经常需要传递各种文件,有的时候传递的文件比较多,Win7系统都会将文件打包成压缩包,便于传输。但是有的用户说访问压缩文件提示“拒绝访问
- 不少用户将Win7系统升级至Win10系统后都出现无限重启的情况,不知道是哪里出现了问题。下面小编就教教大家Win7升级Win10无限重启的
- 现在使用Win10系统小伙伴有很多,但不少使用Win10小伙伴发现在玩地下城的时候会出现掉帧的现象,有时候甚至会被卡退的情况出现,那么这种问
- 最近学校要举办一次英语口语比赛,其中有一个环节是自由演讲,时间为30秒,由选手自己选定主题。领导决定由我来设计一个计时系统,要求能够实时显示
- PowerPoint 2013怎么创建相册1、启动PowerPoint 2013,在“插入”选项卡中单击“插图”组中的“相册”按钮上的下三角
- 蓝叠模拟器引擎设置方法?蓝叠模拟器是一款非常强大的安卓模拟器平台,除了拥有丰富的游戏资源外,还支持调用电脑显卡进行流畅游戏。这里小编给大家分
- 我们可以在手机版本的wps中对表格进行编辑,但是习惯使用电脑的朋友可能不熟悉手机端wps怎么办?下面就让小编告诉你如何在手机wps中编辑表格
- 不知道是碰到键盘上哪一个快捷键之后,电脑的屏幕倒过来了,不知道怎么把屏幕调整回正常的小伙伴用以下的方法就可以了。解决方法:方法一:快捷键可以
- mbr和gpt是现在硬盘常见的两种格式,mbr格式分区最大只能识别2TB的卷,而gpt格式刚好可以解决这个问题,那么,硬盘mbr转gpt格式
- 当我们在做PPT的时候,需要在文字上添加上下标的时候,该怎么加呢?下面小编以PPT2010为例来教大家怎么在PPT给文字添加上下标效果。1、
- 有不少用户遇见win10打不开设置,右键个性化就出现,该文件没有与之关联的程序来执行该操作,请安装一个程序,或者,如果已安装程序,请在“默认
- 我知道你有很多Ta的照片,所以现在是用上这些照片的时机到了!今天情人节,如果你没有给你的情人想好礼物,就请不要错过本文的小礼物:情人节,用P
- 为了保护账户安全性,iPhone 越狱后支付宝和微信就会停用指纹以及面容 ID 支付功能,只能手动输入密码。如果想在越狱后继续使用这些功能,
- 有的时候我们在办公途中会遇到这种情况,就是在word中会出现空白页的情况,可是我们删不掉,那应该怎么办呢?小编有一个小技巧要告诉大家!其实是
- 生活中WiFi依然成为我们的必需品,不管是上网浏览,还是娱乐看电影都会连着WiFi,一个WiFi的快慢往往也影响着我们上网的体验,三五个人连