2016-04-06 20 views
0

2つ目のブックを開かずに、1つのブックから別のブックに複数の列のデータセットをコピーしようとしています。Excel VBAで列内のデータ範囲を別のシートにコピーする

workbook 1 
sheet1 

Column A  Column B  Column C  Column D  Column E  etc... 
index   item No  Details   Price  Cust_nam 
002   23101   book   15   ahmed 
003   23102   CD    5   ahmed 
004   23103   DVD    6   ahmed 

第2のブックのシート1も同じ列名と構成になっています。

私が達成したいことは、これまでにworkbook1のコピーをworkbook2に入力することです。次の使用可能なブランク行から選択します。かつて私は、それが実行時エラーを与えるボタンをクリックしたときに、ここで

は私のコード

Private Sub CommandButton1_Click() 
    LR = Range("A399").End(xlUp).Row 
    LR1 = Range("B399").End(xlUp).Row 
    LR2 = Range("C399").End(xlUp).Row 
    LR3 = Range("D399").End(xlUp).Row 
    LR4 = Range("E399").End(xlUp).Row 
    LR5 = Range("F399").End(xlUp).Row 
    LR6 = Range("G399").End(xlUp).Row 
    LR7 = Range("H399").End(xlUp).Row 

    Dim itemIndex As Range 
    Dim itemNumber As Range 
    Dim itemDetails As Range 
    Dim itemPrice As Range 
    Dim itemCust_nam As Range 
    Dim itemMobile As Range 
    Dim itemDate As Range 
    Dim itemTime As Range 
    Dim myData As Workbook 

Worksheets("Sheet1").Select 
    itemIndex = Range("A8:A & LR") 
    itemNumber = Range("B8:B" & LR1) 
    itemDetails = Range("C8:C" & LR2) 
    itemPrice = Range("D8:D" & LR3) 
    itemCust_nam = Range("E8:E" & LR4) 
    itemMobile = Range("F8:F" & LR5) 
    itemDate = Range("G8:G" & LR6) 
    itemTime = Range("H8:H" & LR7) 


Set myData = Workbook 

myData.SaveAs Filename:="C:\Users\athif\Desktop\Test_Pos\DataBase.xlsx", FileFormat:=51 
    Worksheets("Sales").Select 
    Worksheets("Sales").Range("A2").Select 
    RowCount = Worksheets("Sales").Range("A2").CurrentRegion.Rows.Count 
    With Worksheets("Sales").Range("A2") 
    .Offset(RowCount, 0) = itemIndex 
    .Offset(RowCount, 1) = itemNumber 
    .Offset(RowCount, 2) = itemDetails 
    .Offset(RowCount, 3) = itemPrice 
    .Offset(RowCount, 4) = itemCust_nam 
    .Offset(RowCount, 5) = itemMobile 
    .Offset(RowCount, 6) = ItemData 
    .Offset(RowCount, 7) = itemTime 
    End With 

    myData.Save 
    End Sub 

です。実行時エラー '1004':オブジェクト'_workheet 'のメソッド' Range 'が失敗しました。デバッグの強調表示は「itemIndex = Range( "A8:A & LR")」です。

できるだけ早く解決を望みます。

+0

コピー列のセットでなければなりません別のブックを開くことなく、あるブックから別のブックに移動できますか? –

答えて

0

すべての範囲のために、このようにそれを設定してみてください:

set itemIndex = Range("A8:A & LR") 
0

はLRが代わりに

itemIndex = Range("A8:A & LR") 

で、数あると仮定すると、それは

itemIndex = Range("A8:A" & LR) 
関連する問題