forループとdoループを使用して名前付き範囲を使用してこれを解決しようとしましたが、Excelに存在しない関数が見つかりました。他のワークブックに不連続な配列値をコピーする
私は請求書を使用して、顧客の連絡先データ、購入したもの、支払った価格、コメントなどを新しい請求書ごとに1つの個別のワークブックに保存したい - 新しい請求書/顧客。
私はこれを、同じブックの別のシートにコピーするだけで成功しましたが、異なるワークブックに入れることができないため、顧客データと販売データの別々のファイルを持つことができます。
テンプレート(MasterInvoice.xltm)からマクロを使用して新しいワークブックとして開く現在の請求書ファイルで作業します。請求書が完了したら、ボタンを使用して、特定のセルの配列を次の空の行のデータストアブックに異なる順序で配置する順序でコピーします。
コピーしたデータは、リストされている順序で1行に貼り付けられます。 以下のコードと同じワークブック内に動作しますが、私は、ワークブック全体に働く何かを作ることができなかった:
Sub CopyCustomerData()
Dim LR As Long, i As Long, cls
cls = Array("F5", "A11", "F6", "F7", "F11", "F13", "A12",
"A13", "A14", "D11", "D12", "D13", "D14", "C15", "F42", "F20", "A39")
With Sheets("Customers")
LR = WorksheetFunction.Max(2, .Range("A" & Rows.Count).End(xlUp).Row + 1)
For i = LBound(cls) To UBound(cls)
.Cells(LR, i + 1).Value = Sheets("Invoice").Range(cls(i)).Value
Next i
End With
End Sub
私の目標は、Workbooks.Open ("C:\bm\invoice\Customer_Database.xlsx") With Sheets("CustomerData")
私のソースワークブック/コピーした後C:\bm\invoice\MasterInvoice1.xlsx
です貼り付け、私は&保存する必要がありますターゲットブックを閉じます。
:あなたは、もはやExcelで存在していないことがわかりまし機能しますか? – teylyn
Sheets( "請求書")とは何ですか?この「ワークシート」は「ワークブック」に属していますか? Excelはどのように推測すると思いますか?あなたはあなたのシートを完全に修飾しませんでした。 'Workbooks(" YourWorkbookkName ")を試してみてください。Sheets(" YourSheetName ")。Range' –