戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
大元のブックから別のブックに必要項目を転記する方法

    [194678] 大元のブックから別のブックに必要項目を転記する方法-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ HIRO -(2022/01/23(17:44))
    □U R L/

      Windows10でExcel for Microsoft 365を使用しています。

      EXCELのデータ転記について教えてください。

      全くの素人で昨年末から本を購入して読んだり、ネットで検索したりしながら
      調べているのですが、どのようにすればいいのか一向にわかりません。
      恐縮ですが、助けていただけないでしょうか。

      大元のデータファイルから一部内容を転記したいと考えています。
      大元のファイルは以下の通りです。

      (1)大元のファイルは「master.xlsx」

      取引先の左セルに取引先CD、帳合先の左セルに帳合先CD、メーカーの左セルにメーカーCDが入っていますが並べきれないので省略しています。
      全部で約6000件データが入っています。

        A    B    C    D   E     F
      1 コード 取引先 原材料CD 原材料 メーカー 帳合先              
      2 210031  A社  100001  a    F社   N社
      3 220300  A社  100201  pp    X社   M社 
      4 250001  A社  100031  uuuu   Z社   L社   
      5 240021  B社  100002   nnn  Q社   P社   
      6 350121  C社  100021  kkkkk  W社 E社    




      (2)転記先のファイル「data.xlsm」に記載したい内容

      A1は全体の名前です。
      A2からD2は各項目の名前です。
      A3〜A6は結合、B3〜B6は結合。
      3〜6は同じ原材料の4種類の情報を記載しています。
      7〜10は同じ原材料の4種類の情報を記載しています。
      以下、同様の繰り返しです。
      A3からD3より下に転記をしたいです。
      EとFは印刷範囲から外れた位置です。
      F3に原材料コードを入力(その次はF7に入力)。
      masterブックを立ち上げ、C列(原材料CD)の該当するコードを見つける。
      dataブックのD3にmasterブックのD2のデータを転記。
      dataブックのD4にmasterブックのE2のデータを転記。
      dataブックのD5にmasterブックのF2のデータを転記。
      dataブックのD6は任意の手入力をしています。
      この繰り返しで多いと30品程度あります。
      dataブックはA〜Fまでそれぞれひとつのセルに入力しているように
      書きましたが実際はB3〜D3まで結合し、名称と入力しています。


        A      B    C    D    E    F
      1 資材明細  
      2 変更    名称  項目    内容
      3 あり        原材料  a        100001
      4           メーカー  F社
      5           帳合先   N社
      6           その他
      7 あり        原材料   uuuu       100031
      8           メーカー  Z社
      9           帳合先 L社
      10           その他  




      ご教示のほどよろしくお願い致します。


      ++++++++++++++++++++
      OS      ⇒OTHER
      Version⇒OTHER
      ++++++++++++++++++++




    [194679] Re[1]: 大元のブックから別のブックに必要項目を転記する方法-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2022/01/23(22:44))
    □U R L/

      マクロでなく、数式(VLOOKUP関数)での対応だとだめなのでしょうか





    [194680] Re[2]: 大元のブックから別のブックに必要項目を転記する方法-

    記事引用/メール受信=OFF■

    □投稿者/ HIRO -(2022/01/24(06:11))
    □U R L/

      マナ様

      当初、数式で作ってみました。
      転記先の書類は、保存必須の書類でして、関数を入れたセルが
      表示されなくなると問題になるため見送りになりました。

      そこで、何かほかに方法がないかと思いマクロを検討した次第です。




    [194681] Re[3]: 大元のブックから別のブックに必要項目を転記する方法-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2022/01/24(12:22))
    □U R L/

      ボタンをクリック
      シートを新規ブックにコピー
      ボタン削除
      数式を値に変換
      名前を付けて保存
      閉じる

      こんなマクロでどうですか




    [194682] Re[4]: 大元のブックから別のブックに必要項目を転記する方法-

    記事引用/メール受信=OFF■

    □投稿者/ HIRO -(2022/01/24(20:43))
    □U R L/

      マナ様

      ご返信ありがとうございます。

      WEBを検索して以下のページを見つけました。
      ://fastclassinfo.com/entry/vba_get_data_from_other_books/

      この内容をどうにか変えれることで対処できないだろうかと考えました。
      しかし、知識がないもので本を読んでもWEBを検索してもどう変更すれば
      いいかわからず困っています。

      ご教示いただければ幸いです。




    [194683] Re[5]: 大元のブックから別のブックに必要項目を転記する方法-

    記事引用/メール受信=OFF■

    □投稿者/ 与太郎 -(2022/01/25(07:35))
    □U R L/

      なんだかんだ尤もらしいことを書いているが、
      結局は「お願いします」。

      今後もやる気ならちゃんと勉強せねば。
      見ていて見苦しかったので書かせて貰いました。




    [194684] Re[6]: 大元のブックから別のブックに必要項目を転記する方法-

    記事引用/メール受信=OFF■

    □投稿者/ HIRO -(2022/01/25(07:54))
    □U R L/

      与太郎様

      ご返信ありがとうございます。

      ご指摘の通りですね。
      すいません。
      時間がないので焦ってしまいました。

      昨日、今回書き込ませていただいたフォーマットと少し形が違いますが、
      別ブックを指定して転記するところまで完成しました。
      (大元のファイルのB、E、F列を転記先のB、E、F列に転記)

      今回書き込ませていただいた例のように転記先が列から行に変更し、
      異なる項目を4行ずつ繰り返し記載する方法が全くわからず困っております。

      ヒントをいただければ幸いです。






    [194685] Re[7]: 大元のブックから別のブックに必要項目を転記する方法-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2022/01/25(12:30))
    □U R L/
       masterブックのシート名がSheet1だとします。
       ※しっかし、レイアウトの説明がクリアじゃないなぁ。。
       
       各シートのレイアウトが以下だと仮定すると・・
       
       <master.xlsxのSheet1 サンプル>
       行  ___A___  ___B___  ____C____  ___D___  __E__  ____F____  __G__  ___H___
        1  コード   取引先   原材料CD   原材料   mCD   メーカー   帳CD   帳合先 
        2   210031  A社         100001  a          101  F社            1  N社    
        3   220300  A社         100201  pp         102  X社            2  M社    
        4   250001  A社         100031  uuuu       103  Z社            3  L社    
        5   240021  B社         100002  nnn        104  Q社            4  P社    
        6   350121  C社         100021  kkkkk      105  W社            5  E社    
       
       
       <マクロブックの抽出シート 結果図>
       行  ____A____  __B__  _C_  _D_  ____E____  __F__  _G_  ___H___
        1  資材明細                                                  
        2  変更       名称             項目       内容               
        3  あり                        原材料     a            100001
        4                              メーカー   F社                
        5                              帳合先     N社                
        6                              その他                        
        7  あり                        原材料                        
        8                              メーカー                      
        9                              帳合先                        
       10                              その他                        
       
       マクロブックの抽出シートのシートモジュールに下記マクロ書きこむ(標準モジュールにではない)
      
       ※原材料コードを書き込むと実行されるマクロ
         ↓
       Private Sub Worksheet_Change(ByVal Target As Range)
           Dim rMaster As Range
           Dim RW, v
           
           If Target.CountLarge > 1 Then
               Exit Sub
           ElseIf Target.Column <> 8 Then
               Exit Sub
           ElseIf (Target.Row - 2) Mod 4 <> 1 Then   '3行目から3つ置きか
               Exit Sub
           End If
           
           '対象となる全体範囲を格納する(masterのシート名はSheet1と仮定)
           Set rMaster = Workbooks("master.xlsx").Worksheets("Sheet1").Range("A1").CurrentRegion
           
           'その3列目(原材料CD欄)の何行目に検索用Codeがあるかチェックする。
           RW = Application.Match(Target, rMaster.Columns(3), 0)
           
           If IsNumeric(RW) Then '該当ありの場合、同行のD,F,H列のデータをv(変数)に格納する(縦形式で)
               v = Application.Index(rMaster.Rows(RW), 1, [{4;6;8}])
           Else
               v = [{"";"";""}] '該当がないときは、空白文字を配列に格納する(縦形式で)
           End If
           
           'Targetセルと同じ行の2つ左から、縦3つのセルにvを入力する
           Target(1, -1).Resize(3) = v
           
       End Sub
       


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [194687] Re[8]: 大元のブックから別のブックに必要項目を転記する方法-

    記事引用/メール受信=OFF■

    □投稿者/ HIRO -(2022/01/25(21:10))
    □U R L/

      半平太様

      ご返信ありがとうございます。

      わかりにくく申し訳ございません。
      記載していただいた内容で作成してみます。




    [194688] Re[9]: 大元のブックから別のブックに必要項目を転記する方法-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2022/01/25(22:00))
    □U R L/
      Changeイベントの連鎖発生を止めるのを忘れました。m(__)m
      
          Application.EnableEvents = False 'Changeイベントの連鎖発生を抑止する ←追加(1/2)
      'Targetセルと同じ行の2つ左から、縦3つのセルにvを入力する
      >    Target(1, -1).Resize(3) = v
          Application.EnableEvents = True ’←追加(2/2)




    [194689] Re[10]: 大元のブックから別のブックに必要項目を転記する方法-

    記事引用/メール受信=OFF■

    □投稿者/ HIRO -(2022/01/25(22:42))
    □U R L/

      半平太様

      ありがとうございます。



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G