戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
VBA版で再度、異なる複数明細を同一シートに表示させる方法について

    [192221] VBA版で再度、異なる複数明細を同一シートに表示させる方法について-

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

    □投稿者/ Excel VBA初心者 -(2020/06/19(15:22))
    □U R L/
      一般版で質問しましたが、VBAで可能ではないかと思い、
      再度質問させていただきます。
       
      異なる複数明細を同一シートに表示させる方法
      についてです。
      
      <A>シート・・・キーとなる先
             A      
      1   名前
      2   あああ
      3   いいい
      4   ううう
      5   えええ
      6    ・
      7    ・
      
      <B>シート・・・キーとなる先の取引銀行(それぞれ0〜複数明細)
             A        B
      1   名前   取引銀行
      2   あああ   A銀行
      3   あああ   C銀行
      4   いいい   D銀行
      5   いいい   E銀行
      6   いいい   G銀行    
      7   ううう     N銀行
      8   ううう     R銀行
      9   ううう     T銀行
      10   えええ   D銀行
      11   おおお   E銀行
      12   ・     ・
      13   ・     ・
      
      <C>シート・・・キーとなる先のクレジット会社名(それぞれ0〜複数明細)
             A          B
      1   名前    クレジット会社
      2   あああ   イ社クレジット
      3   いいい   ハ社クレジット
      4   いいい   ニ社クレジット
      5   いいい   へ社クレジット
      6   いいい   チ社クレジット    
      7   おおお     ニ社クレジット
      8   かかか     ハ社クレジット
      9   かかか     ト社クレジット
      10   くくく   イ社クレジット
      11   こここ   ハ社クレジット
      12   ・     ・
      13   ・     ・
      
      
      <D>シート・・・上記A、B、Cシートを合体
              (名前のキーだけが関連あり、Bシートの取引銀行明細とCシート明細のクレジット会社明細との関連性は無い)
      
             A        B        C
      1   名前   取引銀行   クレジット会社
      2   あああ   A銀行    イ社クレジット
      3   あああ   C銀行
      4   いいい   D銀行    ハ社クレジット
      5   いいい   E銀行    ニ社クレジット
      6   いいい   G銀行    へ社クレジット
      7   いいい          チ社クレジット
      8    ううう     N銀行
      9   ううう     R銀行
      10   ううう     T銀行
      11   えええ   D銀行
      12   おおお   E銀行        ニ社クレジット
      13   ・     ・
      13   ・     ・
      
      上記のような合体シートのVBAでの作成方法についてどなたかご教示いただけますと幸いです。
      (上記Dシートは私が結果イメージとして手で作成しただけです。)




    [192223] Re[1]: VBA版で再度、異なる複数明細を同一シートに表示させる方法について-

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

    □投稿者/ Excel VBA初心者 -(2020/06/19(18:54))
    □U R L/


      素人考えなのですが、

      <D>シート・・・キーとなる先の取引銀行(それぞれ0〜複数明細)を
               名前単位で貼り付け(ここではわかりやすいように「いいい」を貼り付けます

         A   B        C
      1   名前   取引銀行    クレジット会社
      2   いいい   D銀行
      3   いいい   E銀行
      4   いいい   G銀行   


      次に B列の最終行の次行に C列の クレジット会社について 「いいい」の先のクレジット会社を貼り付けます 


         A   B          C
      1   名前   取引銀行     クレジット会社
      2   いいい   D銀行
      3   いいい   E銀行
      4   いいい   G銀行   
      5   いいい           ハ社クレジット
      6   いいい           ニ社クレジット
      7   いいい           へ社クレジット
      8   いいい           チ社クレジット   


      次に C列について クレジット会社名を「いいい」の最初行に移動させます 

         A   B          C
      1   名前   取引銀行     クレジット会社
      2   いいい   D銀行      ハ社クレジット
      3   いいい   E銀行      ニ社クレジット
      4   いいい   G銀行      へ社クレジット
      5   いいい            チ社クレジット
      6   いいい           
      7   いいい           
      8   いいい 

      次に A列で B、Cの列に共にデータがない行について削除 

         A   B          C
      1   名前   取引銀行     クレジット会社
      2   いいい   D銀行      ハ社クレジット
      3   いいい   E銀行      ニ社クレジット
      4   いいい   G銀行      へ社クレジット
      5   いいい            チ社クレジット


      これを繰り返せば、出来るように思うのですが、私ではVBAコードを作成できません。

      どなたか、ご教示いただければ、幸いです。




    [192228] Re[2]: VBA版で再度、異なる複数明細を同一シートに表示させる方法について-

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

    □投稿者/ マナ -(2020/06/19(22:12))
    □U R L/
      提示の案と違いますが
      
      Sub test()
          Dim v
          Dim r As Range
          Dim k As Long
          
          v = Sheets("A").Cells(1).CurrentRegion.Columns(1).Value
          
          For k = 2 To UBound(v)
              Set r = Sheets("D").Cells(10000, 1).End(xlUp).Offset(1)
              With Sheets("B").Cells(1).CurrentRegion
                  .AutoFilter 1, v(k, 1)
                  If .Columns(1).SpecialCells(xlCellTypeVisible).Count > 1 Then
                      .Offset(1).Copy r
                  End If
              End With
              With Sheets("C").Cells(1).CurrentRegion
                  .AutoFilter 1, v(k, 1)
                  If .Columns(1).SpecialCells(xlCellTypeVisible).Count > 1 Then
                      Intersect(.Offset(1), .Columns(1)).Copy r
                      Intersect(.Offset(1), .Columns(2)).Copy r.Offset(, 2)
                  End If
              End With
          Next
      
      End Sub


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

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




    [192229] Re[3]: VBA版で再度、異なる複数明細を同一シートに表示させる方法について-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ Excel VBA初心者 -(2020/06/19(22:48))
    □U R L/

      マナ -さん、早速にありがとうございます。
      うまく動作出来ました。
      大変お世話になりました。
      また、よろしくお願いいたします。



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

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

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


- Child Forum -
Edit:ゆう-G