

あつかましいお願いですが、ご教示願います。
まったくの初心者で、いろいろネット検索しましたが自力ではできませんでしたので
質問させて頂きます。
発注在庫管理の業務に使用数、注文数、在庫を記録したファイルがあります。
3か月分のデータが日単位で並んでいるのですが、簡略のため月単位で説明させて頂きます。
旧データをそのままコピーして新データとします。
旧データは9,10,11月のデータ、新データは10,11,12月に更新します。
VBAにしたい作業は添付図の通り、
旧データの10,11月の注文数を、新データの10,11月の注文数にコピペ、
旧データの9月在庫を、新データの先月末在庫にコピペしたいです。
行数は6000行程度あるため。
現在はちまちま手作業でコピペしていますが、担当替えでエクセル不慣れな人間でも
間違いなくできるようにVBAでやりたいと思っています。
ご助力お願いします。

No.1ベストアンサー
- 回答日時:
こんばんは!
一例です。
「旧データ」のSheet名は「Sheet1」・「新データ」のSheet名は「Sheet2」とします。
標準モジュールに↓のコードをコピー&ペーストしてマクロを実行してみてください。
Sub Sample1()
Dim i As Long, lastRow1 As Long, lastRow2 As Long
Dim c As Range, wS As Worksheet
Set wS = Worksheets("Sheet1")
Application.ScreenUpdating = False
With Worksheets("Sheet2")
lastRow1 = wS.Cells(Rows.Count, "B").End(xlUp).Row
wS.Range("A:B").Insert
Range(wS.Cells(2, "A"), wS.Cells(lastRow1, "A")).Formula = "=IF(C2="""",A1,C2)"
Range(wS.Cells(2, "B"), wS.Cells(lastRow1, "B")).Formula = "=A2&D2"
lastRow2 = .Cells(Rows.Count, "B").End(xlUp).Row
.Range("A:B").Insert
Range(.Cells(2, "A"), .Cells(lastRow2, "A")).Formula = "=IF(C2="""",A1,C2)"
Range(.Cells(2, "B"), .Cells(lastRow2, "B")).Formula = "=A2&D2"
For i = 2 To lastRow2
If InStr(.Cells(i, "B"), "注文数") > 0 Then
Set c = wS.Range("B:B").Find(what:=.Cells(i, "B"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
.Cells(i, "F").Resize(, 2).Value = wS.Cells(c.Row, "G").Resize(, 2).Value
End If
ElseIf InStr(.Cells(i, "B"), "在庫") > 0 Then
Set c = wS.Range("B:B").Find(what:=.Cells(i, "B"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
.Cells(i, "E") = wS.Cells(c.Row, "F")
End If
End If
Next i
.Range("A:B").Delete
wS.Range("A:B").Delete
Application.ScreenUpdating = True
End With
End Sub
こんな感じではどうでしょうか?m(_ _)m
ご回答頂きありがとうございます。
希望通りの動作ができました。
1日かけてようやく中身を理解しましたが、
Range(wS.Cells(2, "A"), wS.Cells(lastRow1, "A")).Formula = "=IF(C2="""",A1,C2)"
"=IF(C2="""",A1,C2)"と1行目、2行目を指示しているのでは?と3行目以降もちゃんと入力されるのか理解できませんでしたが^^;
とにもかくにも稚拙な説明にもかかわらずありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ネットカフェから、メールでき...
-
電子辞書の画面をPCに映すには
-
3Dプリンターを使う場合 パソコ...
-
たくさんあるUSB
-
macでWikipediaが開けません
-
データ用HDDの別のPCへの乗せ替え
-
XMLデータってなんですか?
-
エクセルで縦に並んだデータを...
-
インスタの設定について。 イン...
-
3次元曲面補間方法を探しています.
-
個人情報を無断で掲載している...
-
Excel2003で列数制限以上のCSV...
-
ローマ字入力で「トゥ」を入力...
-
1点の辻の字に変換したいがエク...
-
けさ、ツイッター(X)を開いたら
-
すべてのシートを選択してエク...
-
エラーが表示される
-
iMacキーボードの入力 小文字の...
-
OCNメールのバグ?
-
SNSのXのドメイン
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
たくさんあるUSB
-
「未使用」と「不使用」ってど...
-
自宅にwi-fi環境があるにも関わ...
-
ネットカフェから、メールでき...
-
エクセルで縦に並んだデータを...
-
高速フーリエ変換でデータ数が...
-
インスタの設定について。 イン...
-
syndication.twing.comとは
-
パレート図等で「N=100」とあ...
-
ワードの差し込み印刷のデータ...
-
英語で何と言うか教えてくださ...
-
XMLデータってなんですか?
-
【MSOffice Publisher2010差し...
-
PCの内蔵メモリにデータは残る?
-
USBを外す時は、必ず「ハードウ...
-
PCのデータを勝手にコピーされ...
-
表計算: 多次元の表を作りたい
-
シリアルRS-232出力機器からの...
-
日本通信の当月利用データ量は...
-
Excel グラフで数値の正と負の...
おすすめ情報