VBA:Excel在进展选择性粘贴的时候,为什么还是带有格式

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

为什么这样做粘贴的内容还是存在格式?请问如何解决?
------解决方案--------------------
Set wkSht = myApp.Workbooks.Open(sFileName).Sheets(1)
wkSht.Range("A4:B" & cycle).Copy

这个复制不同于一般的单元格内容复制,它是将复制的内容作为一个工作簿对象,所以它的选择性粘贴和普通单元格的选择性粘贴是不一样的。
如果只是粘贴文本值,
需要改成:
Set wkSht = myApp.Workbooks.Open(sFileName).Sheets(1)
wkSht.Range("A4:B" & cycle).Copy
Worksheets("第一个文件").Range("A2").Select
ActiveSheet.PasteSpecial Format:="文本"

------解决方案--------------------
引用:
我试了一下,还是有问题:
1、采取上面代码的方式,运行时提示“类Range的Select方法无效”;

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

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

你能不能在粘贴前不关闭打开的文件,比如改成这样:

    Dim myApp As New Application, wkSht As Worksheet
    Dim wk1 As Workbook, wk2 As Workbook
    Dim sFileName
    Set wk1 = ActiveWorkbook
    sFileName = Application.GetOpenFilename
    If sFileName = "False" Then
      GoTo endSub
    End If
    Workbooks.Open sFileName
    Set wk2 = ActiveWorkbook
    Set wkSht = wk2.Sheets(1)
    wkSht.Range("A4:B" & Cycle).Copy
    wk1.Activate
    Worksheets("第一个文件").Range("F20").PasteSpecial Paste:=xlPasteValues
    wk2.Close