0

現在、メンバーシップ情報が設定された範囲に入力されるメインの Excel ワークブックを使用しています。たとえば、「メンバー」は、メンバー番号が追加されたセルを指します。

入力した情報は、請求書テンプレートに転送/コピーする必要があります。

"folderPath & "\Templates\invoice.xlsx"", 

コードが到達すると問題が発生します

"Cells.Range("B11").Value = Range("Member").Value"

注: 「メンバー」はメイン ワークシートに、「B11」はテンプレート シートにあります。

以前は、ユーザーフォームを使用してデータを入力し、そこからテンプレートに転送していました。以下のコードは、そのシナリオで機能しました。ただし、Excelワークシートで機能するように少し転送/適合させているため、行で失敗します。

コピーする必要があるセルは約 10 個以上あるため、効率的な方法が優先されます。私はこれを調査しましたが、まだ「完璧な」答えを見つけていません。

Dim wb As Workbook
Set wb = Workbooks.Open(folderPath & "\Templates\invoice.xlsx")
'copy data to the template
Cells.Range("B11").Value = Range("Member").Value
4

2 に答える 2

0

どのワークブックからコピーする必要があるか、どこに貼り付けるかを指定する必要があります

Dim wb As Workbook, wbk As Workbook, wbk1 As Workbook
Set wb = Workbooks.Open(folderPath & "\Templates\invoice.xlsx")

Set wbk = Workbooks("invoice.xlsx")
'repalce your soruce workbook name with correct extension xlsm
Set wbk1 = Workbooks("sorce.xlsx")
'please change the sheet index with name as you wish
wbk.Sheets(1).Cells.Range("B11").Value = wbk1.Sheets(1).Cells.Range("Member").Value

これがあなたが望むものであることを願っています:)

于 2016-01-12T05:52:28.550 に答える