|
こんばんは
ここに書いてあることは、マクロ記録でだいたいの骨格は作れます。
マクロ記録をどんどんやってみて、VBAをマスターしてください。
完成はさせていませんが、参考にして、みて自分でやりたいものに作り上げください。
親切でなくてごめんなさい。
>やりたいこと:「入力用のブック」のシートに入力されたデータ(500件/日)を「累積用のブック」のシートに転送したい。
>1.コマンドボタン(=入力用ブックから処理したい)を押したときに、「入力用のブック」の入力されたデータを2.「累積用のブック」のシートに移したい。
>3.「入力用のブック」のシートからは、データを「累積用ブック」に移し保存した後に、クリアする。
>「累積用のブック」のシートにはすでに保存されているデータの最終行の次の行から書き込み保存したい。
>「累積用のブック」は出来れば開かずに処理して保存したい。
1.2.3.をマクロ記録で骨格を作ったものです。
Sheet1は元データ
Sheet2は累積用
Macro1
Macro2はマクロ記録少し変化させたもの
Macro3が最終的に使えるようにしたものです。
データはA〜F列まであるとします。
Sub Macro1()
' マクロ記録日
'コピー
Range("A1:A9").Select
Selection.Copy
'貼り付け
Sheets("Sheet2").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'---------------------------------------
'元データを消去
Sheets("Sheet1").Select
Range("A1:A9").Select
Selection.ClearContents
'---------------------------------------
'escでコピーモード終了
Application.CutCopyMode = False
End Sub
Sub Macro2()
' マクロ記録Macro1を変更したもの
'コピー
Sheets("Sheet1").Range("A1:A9").Copy
'貼り付け
Sheets("Sheet2").Range("A1").PasteSpecial Paste:=xlValues
'---------------------------------------
'元データを消去
Sheets("Sheet1").Range("A1:A9").ClearContents
'
'escでコピーモード終了
Application.CutCopyMode = False
End Sub
Sub Macro3()
' マクロ記録Macro2を変更したもの
'1.コピー
Sheets("Sheet1").Range("A1:A9").Copy
'2.貼り付け
Sheets("Sheet2").Range("A65536").End(xlUp).Offset(1).PasteSpecial Paste:=xlValues
'---------------------------------------
'3.元データを消去
Range("A1", "F" & Range("A65536").End(xlUp).Row).ClearContents
'
'escでコピーモード終了
Application.CutCopyMode = False
End Sub
以上です。がんばってください。
|
|