###前提・実現したいこと
見積書のデータが複数のブックにわかれて保存されており、別のブックに手入力でコピペしながら、
見積書内の「見積書番号・件名・納入期日・品名・数量・単位・単 価・金 額」
」の内容が一覧化されたデータベース台帳を作っています。
まだまだ見積書があって、ひとつひとつコピペして手入力は大変なので、自動転記されるマクロをつくりたいと考えています。
P.S.マクロは初めてです。ネットや本で調べましたが、解決できず、周りにも聞ける方がいないので、こちらにたどり着きました。質問の仕方など至らないことあるかもしれませんが、もし不足している情報などがあればご指摘いただき、お手柔らかにご対応いただけると幸いです。
###発生している問題・エラーメッセージ
「マクロの記録」アイコンから、マクロを記録すると、実行する際に、ファイル名のエラーが出ます。
(転記完了した転記元ファイルは、「転記済」フォルダに移動させているため)
そこで、workbook.nameというコードに置き換えましたが、今度は、転記元にペーストされてしまったり、転記先セルへのペーストがずれてしまいます。
###該当のソースコード
Sub 見積書DB化()
'
' 見積書DB化 Macro
'
'「現在開いているブック」を定義
MsgBox ActiveWorkbook.Name
'「VBAコードを記述したブック」を定義
'入力する空白セルの指定
InputRow = Cells(Rows.Count, "a").End(xlUp).Row + 1
'見積もり番号を開いている転記元からコピーして転記先にペースト
MsgBox ActiveWorkbook.Name
Range("K2").Select
Selection.Copy
Windows("転記先_2016nov-2017oct_見積書DB.xlsm").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'件名'を開いている転記元からコピーして転記先にペースト
MsgBox ActiveWorkbook.Name
Range("D8").Select
Application.CutCopyMode = False
Selection.Copy
Windows("転記先_2016nov-2017oct_見積書DB.xlsm").Activate
InputRow = Cells(Rows.Count, "b").End(xlUp).Row + 1
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
MsgBox ActiveWorkbook.Name
'納入期日'を開いている転記元からコピーして転記先にペースト
Range("D9").Select
Application.CutCopyMode = False
Selection.Copy
Windows("転記先_2016nov-2017oct_見積書DB.xlsm").Activate
InputRow = Cells(Rows.Count, "c").End(xlUp).Row + 1
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'品名'を開いている転記元からコピーして転記先にペースト
MsgBox ActiveWorkbook.Name
Range("C18").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Windows("転記先_2016nov-2017oct_見積書DB.xlsm").Activate
InputRow = Cells(Rows.Count, "d").End(xlUp).Row + 1
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'数量~金額'を開いている転記元からコピーして転記先にペースト
MsgBox ActiveWorkbook.Name
Range("F18:I18").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Windows("転記先_2016nov-2017oct_見積書DB.xlsm").Activate
InputRow = Cells(Rows.Count, "e").End(xlUp).Row + 1
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
excel2016 を使っています。


回答1件
あなたの回答
tips
プレビュー