2016-07-28 2 views
0

最初のワークブックのセルから異なる値をコピーしようとしました(template.xlsxという名前を付けてください)(ERROR 9 !!!)異なるワークシート内の別のセルに値をコピーする

は、私はこれを試してみましたが、それは(ERROR 9)

Woorbooks("item.xls").Worksheets("Unit_Of_Measure").Cells(i, 2) = Workbooks("template.xlsx").Worksheets("Introduction").Cells(i, 8).Value

任意の提案を動作しませんか?

+7

'Woorbooks' ??? O_O –

+2

エラー9は「下付き文字が範囲外です」というエラーです。あなたのワークブックの1つが '.xls'で、もう1つが' .xlsx'であることに気付きました。これは、あなたの 'i'値が65536より大きい場合、そのエラーが発生することを意味します。 – tigeravatar

+0

こんにちは、oyu全体のコードを与えることができますか?ちょうど推測 - それはあなたが整数として宣言されていることができますが、長くはありません。 – Vityata

答えて

0

私は別の方法を示唆していますが、複雑に見えるかもしれませんが、それは簡単でよりクリーンです。このコードはあなたが必要とするものを行いますが両方のブックは同じフォルダまたはパスになければなりません。あなたが必要とするものに依存してください。

Private Sub button1_click() 
    Var_data = Introduction.Cells(i,8) 
    Application.ScreenUpdating = False 
    Workbooks.Open Filename:=ThisWorkbook.Path & "\item.xls" 
    ThisWorkbook.Activate 
    Unit_Of_Measure.Cells(i,2) = var_data 
    Workbooks("item.xls").Close SaveChanges:=True 
    Application.ScreenUpdating = True 
End Sub 

まずあなたが、あなたはあなたの管理者の本を開いて、VARにデータをキャプチャしたいセルにデータを置く:我々はtemplate.xlsにあるボタンクリックでコピーを作成するつもりだとしましょうそのワークブックの変更を保存する(この行を保持するか、ワークブックを開いて手動で保存するかを決める)。また、Application.screenは、ワークブック間で変更するときに画面がフリックしないようにするための行です。

友人に役立つことを願っています!

0
Dim classeur As Workbook 
Dim derlig As Integer 'dernière ligne de la colonne B de template 
derlig = Range("B" & Rows.Count).End(xlUp).Row 
Set classeur = Application.Workbooks.Add 
With classeur 
Sheets.Add 
Sheets.Add 
Sheets.Add 
Worksheets(1).Name = "Items" 
Worksheets(2).Name = "Unit_Of_Measure" 
Worksheets(3).Name = "Item_Tax_Authorities" 
Worksheets(4).Name = "Item_Optional_Fields" 
.SaveAs "C:\Users\Ikrame\Desktop\Stage SVL\mass upload\Item upload.xls" 
End With 
Cells(1, 1).Value = "ITEMNO" 
Cells(1, 2).Value = "DESC" 
Cells(1, 3).Value = "ITEMBRIKID" 
Cells(1, 4).Value = "FMTITEMNO" 
Cells(1, 5).Value = "CATEGORY" 
Cells(1, 6).Value = "CNTLACCT" 
Cells(1, 7).Value = "STOCKITEM" 
Cells(1, 8).Value = "STOCKUNIT" 
Cells(1, 9).Value = "UNITWGT" 
Cells(1, 10).Value = "SELLABLE" 
Cells(1, 11).Value = "WEIGHTUNIT" 
Dim i As Long 
For i = 5 To derlig 
'Ne pas oublier la partie de l'ITEM NUMBER 
Cells(i - 3, 3).Value = "PRODCT" 
Cells(i - 3, 10).Value = "1,05" 
Cells(i - 3, 11).Value = "Kg" 
Cells(i - 3, 7).Value = "TRUE" 
Workbooks("Item upload.xls").Worksheets("Items").Cells(i - 3, 2) = Workbooks("template.xlsx").Worksheets("Introduction").Cells(i, 3).Value 
Workbooks("Item upload.xls").Worksheets("Items").Cells(i - 3, 4) = Workbooks("template.xlsx").Worksheets("Introduction").Cells(i, 2).Value 
関連する問題