问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

帮我解释下这个excel里的vba,并教教我怎么用哈,拒绝复制粘贴,谢谢??

发布网友 发布时间:2022-04-26 15:23

我来回答

2个回答

热心网友 时间:2023-10-11 15:33

Sub mypaste()
    Application.ScreenUpdating = False '禁止自动刷新
    s = Selection.Count  '选中单元格的数量
    ReDim arr(s - 1)   '定义数组变量
    For Each Rng In Selection   '在选中的单元格中循环
        arr(i) = Rng.Address      '将选中单元格的地址存在arr数组中
        i = i + 1    '计数
    Next
    Range("xfd1").PasteSpecial (xlPasteAll)  '将拷贝的数据所有格式复制到自定义名称为“xfd1"的单元格
    For i = 0 To s - 1 '建立循环
        Range("xfd1").Offset(i, 0).Cut   '循环从xfd1单元格中剪切一个单元格
        Range(arr(i)).Select '选中之前所选中的单元格
        ActiveSheet.Paste '粘贴
    Next i
    Application.ScreenUpdating = True '恢复自动刷新
End Sub

 

Sub mypaste2()
    Set Mydata = New DataObject   '定义变量Mydata为剪贴板对象
    Application.ScreenUpdating = False '禁止自动刷新
    Mydata.GetFromClipboard Mydata '数据取自剪贴板
    arr = Split(Mydata.GetText(1), Chr(13) + Chr(10))   '将Mydata的数值以空格和回车键分隔转换到arr数组中
    i = 0 '定义i的初始值,不定义默认为0
    For Each Rng In Selection
        Rng.Value = arr(i)   '将arr值循环写入所选中的单元格中
        i = i + 1
    Next
    Set Mydata = Nothing '清除Mydata对象
    Application.ScreenUpdating = True '恢复自动刷新
End Sub

追问教教我用法吧,在excel里用不了呢?!

追答这本来就是EXCEL中的VBA呀,如何用不了?

热心网友 时间:2023-10-11 15:34

Sub mypaste()

Application.ScreenUpdating = False

s = Selection.Count ‘选中单元格的数量

ReDim arr(s - 1) 定义数组变量

For Each Rng In Selection 循环数据处理

arr(i) = Rng.Address 将选中单元格的地址存在ARR里

i = i + 1 计算有多少个单元格

Next

Range("xfd1").PasteSpecial (xlPasteAll) 将拷贝的数值以及公式等所有格式复制到命名为“Xfd1"的单元格中

For i = 0 To s - 1

Range("xfd1").Offset(i, 0).Cut '从xfd1单元格中一个单元格一个单元格的剪切

Range(arr(i)).Select 选中之前所选中的单元格

ActiveSheet.Paste 粘贴

Next i

Application.ScreenUpdating = True

End Sub

复制代码

方式二(仅包含单元格数值,复制源区域支持单列中的连续或非连续单元格,粘贴目标区域支持单列或多列连续或非连续单元格。)

Sub mypaste2()

Set MyData = New DataObject 定义MYDATA

Application.ScreenUpdating = False

MyData.GetFromClipboard Mydata数据取自剪贴板

arr = Split(MyData.GetText(1), Chr(13) + Chr(10)) 将MYDATA数值以空格和回车键区分并存入ARR

i = 0

For Each Rng In Selection

Rng.Value = arr(i) 将ARR值写入所选中的单元格中

i = i + 1

Next

Set MyData = Nothing

Application.ScreenUpdating = True

End Sub
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 如何用VBA代码禁止excel、Word、PPT复制编辑,然后再将VBA禁止编辑。 excel怎么样实现禁用右键和屏蔽复制粘贴 EXCEL设置某一列文本,不允许重复性的复制文本进去。 如何将vba禁止复制和粘贴控制一张表而不是一台电脑? 如何在excel中写一段vba让在复制excel时不能复制? 怎么样在excel中设置“禁止复制” 中国移动卡能异地补办吗 在外地能不能补办中国移动手机卡? 中国移动SIM卡能否异地补办? 锦州市太和区农村信用合作联社怎么样? 大连有锦州农商银行吗? 方正科技子公司有哪些 童年作文300字怎么写?帮帮必。 童年300字作文 周记之我的童年生活300字左右 写童年时期的美好生活作文300字 写童年生活的作文300字 美好的童年生活作文300字 360安全浏览器切换搜狐输入法太慢 慢? 为什么一打开网页,word文字输入就变的特慢 用EXECL VBA怎样设置EXECL工作簿文件不能被复制 excel禁止A8:B1000使用粘贴(包括填充柄)VBA代码,能作代码解释最好,请高手指教 excel vba公式,请问我想在表格sheet1中的D列禁止黏贴功能,只能手工键入数值,vba公 EXCEL文档中的内容怎么设置,不允许复制 请教excel大神,07版的命令栏如何用vba屏蔽,比如复制粘贴,有代码么? excel有没有拒绝复制的设置? 如何vba代码屏蔽工作表标签的右键菜单中的复制菜单 excel怎么用vba复制指定列符合条件的单元格及其所在行到另一个工作表?不符合条件不复制。 请问天安曼哈顿好不好?? 天安曼哈顿交通方便吗?应该怎么过去? 方正电脑河南总代理是哪公司? 天安曼哈顿怎么样?好不好?值不值得买? 无锡滨湖区有什么新房或者在建的房子有落地玻璃窗的呀,最好能看见湖的,多列举几个,谢谢! 无锡哪里可以拿医保卡刷香烟 IE8中安全设置阻止应用程序运行怎么解决 安全设置阻止打开文件,还找不到ie浏览器 当今农村中学生教育中,普遍存在些什么问题呢? 请问如何设置win7防火墙禁止IE访问网络? 你觉得当今乡村学校存在的主要问题是什么?该怎么改善? 当今农村中学生教育,你知道存在哪些问题吗?