
ExcelのVBAを使用した転記についてご教授お願い致します。
初心者のもので簡単な解説があると助かります。
スケジュール管理をするうえで
業務依頼があるとExcelファイル(設計1課ファイル、設計2課ファイルの2つ)に記入されます。
※課が異なるので2つのファイルに分かれています。
業務依頼で記入したExcelファイルから必要項目のみを
スケジュール管理しているExcelファイル(1つ)に転記したいです。
ただし、業務依頼のファイルには、日々業務依頼があると
新しく最終行に追加されていきます。
また、業務依頼のファイルは、スケジュール管理のファイルと
違うフォルダに入っています。
転記したいセル (転記したい項目)
■転記元ファイル □転記先ファイル
B9 (見積番号) → G6 (注文仕様書番号)
C9 (見積日) → B6 (見積日)
F9 (担当者) → J6 (担当者)
G9 (納期) → M6 (納期)
M9 (注文依頼書名) → I6 (注文仕様書名)
画像データは、上側が転記元のファイルで
下側が転記先ファイルになります。
出来たら、見積番号より転記していない番号を検索し
スケジュール管理するExcelの最終行に転記する事は、
可能でしょうか?
よろしくお願いいたします。

No.1ベストアンサー
- 回答日時:
こんばんは
回答がないようですので・・・
内容的には単純な転記ですが、表の形式がバラバラなのがわかりにくくしていますね。
・ファイル名やシート名、パス等の不明部分に関しては適当になっています。
・必要なファイルは既に開いているものとし、直接指定してあります。
(ファイルを開く処理から必要なら、追加してください)
・シート内で「見積番号」に重複は存在しないものと仮定しています。
以下、ご参考までに。
Sub Q12909476()
Dim Dic As Object, v As Variant
Dim sh As Worksheet
Dim rw As Long, n As Long, i As Long
Set Dic = CreateObject("Scripting.Dictionary")
Set sh = Workbooks("hoge").Worksheets("Sheet1") '←転記元ファイルの該当シート
With Workbooks("fuga").Worksheets("Sheet1") '←転記先ファイルの該当シート
n = .Cells(Rows.Count, 7).End(xlUp).Row
rw = Application.Max(n, 5) + 1
v = Cells(1, 7).Resize(Application.Max(n, 2)).Value
For i = 6 To UBound(v)
If v(i, 1) <> "" Then Dic.Add v(i, 1), 1
Next i
n = sh.Cells(Rows.Count, 2).End(xlUp).Row
v = sh.Cells(1, 2).Resize(Application.Max(n, 2)).Value
For i = 9 To UBound(v)
If Not Dic.exists(v(i, 1)) And v(i, 1) <> "" Then
.Cells(rw, 7).Value = v(i, 1)
.Cells(rw, 2).Value = sh.Cells(i, 3).Value
.Cells(rw, 10).Value = sh.Cells(i, 6).Value
.Cells(rw, 13).Value = sh.Cells(i, 7).Value
.Cells(rw, 9).Value = sh.Cells(i, 13).Value
Dic.Add v(i, 1), 1
rw = rw + 1
End If
Next i
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Excel(エクセル) Excelで、別シートの表のステータスに伴った動的な自動転記をしたいです。 2 2023/06/14 15:56
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- その他(プログラミング・Web制作) エクセルVBA 3 2022/06/11 16:01
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 複数ブックの統合について Excel VBA 1 2022/05/13 09:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Google ドライブに意図しないフ...
-
A4ファイルを綺麗に並べる方法...
-
VBA:ユーザーフォームのマルチ...
-
拡張子sfvってなんですか?
-
cerファイル、pfxファイルの基...
-
「最小化」したファイルが元の...
-
"~$[ファイル名].xlsx"というフ...
-
ChatGPT excel
-
WPSスプレッドシートでエラー。...
-
VBA 数値を文字列として貼付したい
-
AUTOCAD
-
plgファイルの開き方
-
【マクロ】売上一覧YYYYMMDDHHS...
-
FlukeのLANテスター flwファイ...
-
EXCEL2010でロータスのファイル...
-
開かなくなった引き出しの開け方
-
オフィス内のA4ファイルが倒れ...
-
windows explorerからエクセル...
-
BVE5で湖西線をプレイしたい
-
"img"ファイルを解凍・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Google ドライブに意図しないフ...
-
VBA 数値を文字列として貼付したい
-
VBA:ユーザーフォームのマルチ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
メールに添付ファイル(エクセ...
-
cerファイル、pfxファイルの基...
-
ChatGPT excel
-
AUTOCAD
-
「最小化」したファイルが元の...
-
ISO9001
-
plgファイルの開き方
-
拡張子sfvってなんですか?
-
開かなくなった引き出しの開け方
-
WPSスプレッドシートでエラー。...
-
A4ファイルを綺麗に並べる方法...
-
BVE5で湖西線をプレイしたい
-
"~$[ファイル名].xlsx"というフ...
-
FlukeのLANテスター flwファイ...
-
ギガファイル便で送ったzipファ...
-
「ファイルをロックできません...
おすすめ情報