2012-08-30 111 views
0

有人可以請幫我解決這個問題:複製範圍從一個工作簿到另一個

我在工作簿1中有一個宏。我做的是

「開放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

這將是非常善良的人提供幫助。

回答

2

您必須首先複製該範圍才能將其粘貼。你需要的是

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

另外,關於Paste:=test後。這是不正確的。

Paste是一個可選參數,它可以取任何這些值。我會建議在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 
+0

這個作品感謝你在看看Excel的幫助。關鍵是要有線路測試。複製 – user1612986

+0

+1 siddharth。我總是使用循環,並沒有複製/粘貼功能。 – danielpiestrak

相關問題