
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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA:ユーザーフォームのマルチ...
-
Google ドライブに意図しないフ...
-
EXCEL2010でロータスのファイル...
-
FlukeのLANテスター flwファイ...
-
拡張子sfvってなんですか?
-
BVE5で湖西線をプレイしたい
-
Excel VBA 転記について
-
Office Home & Business 2021で...
-
cerファイル、pfxファイルの基...
-
WPSスプレッドシートでエラー。...
-
ファイルシステムがNTFSだとexF...
-
こういうごついファイルってダ...
-
自分の書いた小説をコンビニの...
-
開かなくなった引き出しの開け方
-
VBA 数値を文字列として貼付したい
-
preAlloc Fileとは何ですか?
-
ファイル管理に階層構造がある...
-
Microsoft Office の word のバ...
-
exeファイルの中身を見ることは...
-
windows11におけるファイルの並...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Google ドライブに意図しないフ...
-
VBA 数値を文字列として貼付したい
-
cerファイル、pfxファイルの基...
-
VBA:ユーザーフォームのマルチ...
-
「最小化」したファイルが元の...
-
plgファイルの開き方
-
AUTOCAD
-
WPSスプレッドシートでエラー。...
-
拡張子sfvってなんですか?
-
A4ファイルを綺麗に並べる方法...
-
"~$[ファイル名].xlsx"というフ...
-
FlukeのLANテスター flwファイ...
-
開かなくなった引き出しの開け方
-
ギガファイル便で送ったzipファ...
-
rarからisoにするにはどうすれ...
-
BVE5で湖西線をプレイしたい
-
windows explorerからエクセル...
-
iPhoneでzipファイルを開きたい...
-
スマホLINEにエクセルファイル...
-
拡張子TKM
おすすめ情報