- 締切済み
Excel VBAに詳しい方教えてください。
Excel VBAについて 下記内容をマクロを使ってできるようにしたいのですが、どなたかお力添えいただけませんか? 例えば、下記のような記載のファイルBook1があるとします。 A1セル内 名前 B1セル内 〇〇会社 C2セル内 〇〇部 D2セル内 〇〇係 この内容を別のファイルBook2へ転記したいのです。 ただし、Book2の列は下記のようになっており A列 名前(すでに入力されている) B列 会社名 C列 部 D列 課 E列 係 Book1の内容をBook2の下記の条件で正しいセルへ転記したいです。 -Book1で[部]で終わっているものはBook2のB列[部]に転記 -Book2ですでに入力されている名前の行に、Book1の情報を転記 ご協力のほど何卒よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- masnoske
- ベストアンサー率35% (67/190)
> -Book1で[部]で終わっているものはBook2のB列[部]に転記 [部]だけ転記し、他の情報は転記しない? [部]で終わっていないものは何も転記しない? > -Book2ですでに入力されている名前の行に、Book1の情報を転記 Book2には[名前]だけが入力されている? Book2にない[名前]の場合は何もしない? 各シートの具体例がないと回答のしようがありません。
- kkkkkm
- ベストアンサー率66% (1719/2589)
Book1のその他の人のデータの場所がわかりません。 課がありません > -Book1で[部]で終わっているものはBook2のB列[部]に転記 意味が分かりません。 質問の内容でわかるところだと Sub Test() Dim FRange As Range Dim Sh1 As Worksheet, Sh2 As Worksheet Dim FStr As String Set Sh1 = Workbooks("Book1").Sheets("Sheet1") Set Sh2 = Workbooks("Book2").Sheets("Sheet1") FStr = Sh1.Cells(1, "A").Value With Sh2 Set FRange = .Range(.Cells(1, "A"), .Cells(Rows.Count, "A")).Find(FStr, LookAt:=xlWhole) If Not FRange Is Nothing Then .Cells(FRange.Row, "B").Value = Sh1.Cells(1, "B").Value .Cells(FRange.Row, "C").Value = Sh1.Cells(2, "C").Value .Cells(FRange.Row, "E").Value = Sh1.Cells(2, "D").Value End If End With End Sub
お礼
回答ありがとうございます。文章だけでは伝わらず、申し訳ありません。 編集の仕方がわからなかったので画像付きで別質問たてました。