質問: Excelファイルで1番目のシートの入力した値を別のシートに転記させたいと考えています。 1番目のシートは下記の通りです。 2番目のシートは売上システムに取り込み用のシートになっていて1番目シートの値をリンクさせると数式となるためシステムにうまく取り込めません。 なので1番目のシートから2番目のシートにボタンを押すと転記するマクロを作りたいと考えています。 転記する内容は下記のA列~D列(E列以降は転記しません!)の値を 2番目のシートのA10にA列の作業名がくるようにいしたいです。 分かる方、アドバイスいただければ助かります。 よろしくお願いいたします。 A列 B列 C列 D列 ・・・・・・・・・ 作業名 数量 単価 合計 〇〇作業 2 10,000 20,000 ××作業 1 20,000 20,000 △△作業 1 30,000 30,000 □作業 3 5,000 15,000 ・ ・ ・ ・ ・ ・ ※行数はその時によって可変です。
回答: 以下のようなコードでしょうか? ・「Private Sub CommandButton1_Click()」は実施環境にあわせてください。 ・シート名がわからなかったので、仮にsheet1,2としています。実態にあわせてください。 ・sheet2で書式(数値の「,」など)が必要な場合、A~D列の全行に書式設定してください。 Private Sub CommandButton1_Click() Dim sh1 As Worksheet, sh2 As Worksheet Set sh1 = Worksheets("sheet1") ''コピー元 Set sh2 = Worksheets("sheet2") ''コピー先 ''念のため、既存データ値(?)をクリアする。 sh2.Range("A:D").ClearContents ''データ範囲をA列で求め、sh1シートのA列~D列をsh2シートにコピーする。 With sh1.Range("A1", sh1.Cells(sh1.Rows.CountLarge, "A").End(xlUp).Offset(, 3)) sh2.Range("A1").Resize(.Rows.CountLarge, .Columns.CountLarge).Value = .Value End With End Sub