将范围从一个工作簿复制到另一个工作簿

有人可以帮助我解决这个问题:

我有一个工作簿1中的macros。 我做的是

'打开workbook2.txt

Workbooks.OpenText filename:= _ "workbook2.txt", Origin:=437, StartRow _ :=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=True _ , Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _ Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), _ Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15, 1)), _ TrailingMinusNumbers:=True ' copy a range Dim test As Range Set test= Range("G971:M1000") 'close workbook2 Workbooks("workbook2").Close 'copy test in workbook1 Windows("workbook1.xlsm").Activate Sheets("Sheet1").Select Range("B3").Select Selection.PasteSpecial Paste:=test, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 

这导致运行时错误1004。

这将是非常仁慈的人来帮助。

您必须首先复制范围以将其粘贴。 你需要的是

test.CopySet test= Range("G971:M1000")

还有关于Paste:=test 。 这是不正确的。

Paste是一个可选参数,可以使用这些值中的任何一个。 我build议看一下Excel对PasteSpecial的帮助

 xlPasteAll xlPasteAllExceptBorders xlPasteAllMergingConditionalFormats xlPasteAllUsingSourceTheme xlPasteColumnWidths xlPasteComments xlPasteFormats xlPasteFormulas xlPasteFormulasAndNumberFormats xlPasteValidation xlPasteValues xlPasteValuesAndNumberFormats 

用这个

 bSource.Sheets("Sheet1").Range("B3").PasteSpecial Paste:=xlPasteValues, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False