当前位置: 代码迷 >> VBA >> VBA:Excel在进行选择性粘贴的时候,为什么还是带有格式?解决办法
  详细解决方案

VBA:Excel在进行选择性粘贴的时候,为什么还是带有格式?解决办法

热度:8497   发布时间:2013-02-26 00:00:00.0
VBA:Excel在进行选择性粘贴的时候,为什么还是带有格式?
例子如下:
两个xls,一个写了部分VBA,导入另一个xls,将第二个xls中的一个sheet内的部分单元格内容,粘贴到第一个xls制定单元格内,在进行粘贴时:是只针对“值”进行粘贴,但是粘贴过来还是存在格式,为什么?

代码如下;
第一个xls:
'导入第二个xls,并进行选择性粘贴
Dim myApp As New Application, wkSht As Worksheet

sFileName = Application.GetOpenFilename
If sFileName = "False" Then
  GoTo endSub
End If
Set wkSht = myApp.Workbooks.Open(sFileName).Sheets(1)

wkSht.Range("A4:B" & cycle).Copy
Worksheets("第一个文件").Range("A2").PasteSpecial Paste:=xlPasteValues

为什么这样做粘贴的内容还是存在格式?请问如何解决?

------解决方案--------------------------------------------------------
VB code
Set wkSht = myApp.Workbooks.Open(sFileName).Sheets(1)wkSht.Range("A4:B" & cycle).Copy
------解决方案--------------------------------------------------------
探讨
我试了一下,还是有问题:
1、采取上面代码的方式,运行时提示“类Range的Select方法无效”;

2、在偶然的一次试成功后,得到的结果却是,复制的是按照图片的方式引用的;

请问各位,是什么原因?还有其他解决办法么?
  相关解决方案