エクセルVBAでセル位置の置き換え
売上帳をエクセルVBAを使って作っています。
シート自体は、
B C D E
1 日付 顧客NO. 顧客名 品名
2
3
のようになっており、
B列、C列、D列の最終行に入っている値を、その一行下から、E列最終行までのB~D列全部に貼りつけたいのです。
コードは下記のように書いてあります。
Dim 行番号
Dim セル日
Dim セル客
Dim 品名行
Dim 日付行
Dim セル日2
Dim セル日3
Sub 日付と顧客名を貼付()
行番号 = Cells(Rows.Count, "B").End(xlUp).Row 'B列最終行の行番号を取得し「行番号」に代入
セル日 = "B" & 行番号
セル客 = "D" & 行番号
Range("セル日:セル客").Copy '日付と顧客番号と顧客名をコピー
品名行 = Cells(Rows.Count, "E").End(xlUp).Row 'E列最終行の行番号を取得し「品名行」に代入
日付行 = Cells(Rows.Count, "B").End(xlUp).Row + 1 'B列最終行の1行下の行番号を取得し「日付行」に代入
セル日2 = "B" & 日付行
セル日3 = "B" & 品名行
Range("セル日2:セル日3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 'B列最終行の1行下のB列からD列に値の貼り付け
End Sub
これを実行すると、
『Range("セル日:セル客").Copy』の部分でエラーがでます。
正しくはどのように書けばよいのでしょうか?
お礼
できました。ありがとうございました。