对Excel操作选择性粘贴在VB里怎么写?急

浩洁 2013-04-07 03:35:25
我这前在VBA里写的是这样的
LG.Activate

LG.Cells(7, 1).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

我想用VB实现这个功能要怎么写啊,总是报错
...全文
661 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2013-04-08
  • 打赏
  • 举报
回复
你是要黏贴到excel里面啊,我还以为你是要黏贴到别的程序上呢
浩洁 2013-04-07
  • 打赏
  • 举报
回复
            BOMSheet.Range(BOMSheet.Cells(1, 5) & ":" & BOMSheet.Cells(1, 6)).Copy
            MBSheet.Range("A7").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            MBSheet.Range("A7").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            文件 = "C:\Documents and Settings\All Users\" & 编号 & "-" & WO & ".xlsx"
            MBSheet.SaveAs FileName:=文件
也不需要像Excel里一样非要激活这个工作表。已经定义好就可以了
浩洁 2013-04-07
  • 打赏
  • 举报
回复
引用 2 楼 worldy 的回复:
这个不容易,excel拷贝的时候,会拷贝很多格式的数据到剪贴板,但VB除了公开的格式外,其它格式数据基本上访问不到,但可以使用API,问题是,API,你基本上是难于知道excel保存在剪贴板上的数据格式
MBSheet.Range("A7").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
MBSheet.Range("A7").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
刚刚解决了,跟Excel中不一样的是这里要用Range选择
worldy 2013-04-07
  • 打赏
  • 举报
回复
这个不容易,excel拷贝的时候,会拷贝很多格式的数据到剪贴板,但VB除了公开的格式外,其它格式数据基本上访问不到,但可以使用API,问题是,API,你基本上是难于知道excel保存在剪贴板上的数据格式
浩洁 2013-04-07
  • 打赏
  • 举报
回复
大家帮帮忙,你们是怎么解决的?怎么拷贝值后再拷贝格式

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧