質問: エクセルのマクロ(繰り返しについて) 複数のセルの統合をしています。 目的:各セル内の文字を一つのセルに統合したいのです。 この作業をかなりたくさんせねばなりません。 現状行っていることは (1)a1~a10まで、各セル改行ありで統合してます。 式にすると(a1&chase(10)&a2......)というような感じです。 この一連の統合作業を100以上行わねばなりません。 しかも、統合せねばならないセル数が上記のように(a1~a10)10個のセルとは限りません。 a11~a16のセルの統合もあれば、a16~a30のセルの統合もあります。 これをどうにか、マクロを使用して行いたいのですが、 どのようにすればセルの統合がスムーズにいきますでしょうか? ちなみに、統合したいセルの和はkkkkkのいう文字が入っている、セルの直前までです。 つまり・・・ a1 a2 a3 a4(kkkkkk)→a3までを統合 ・ ・ ・ a5 a6 a7 a8 a9 a10(kkkkkk)→a9までを統合。 色々と検索してみたのですが、良い方法が見つかりません。 ひたすら、数式を打ち込むしかないのでしょうか? どなたかお知恵をお貸しください(t_t) よろしくお願いいたします。
回答: >統合したものは、aのとなりのb列に示したいです! 何だかよく分からないので、具体的なことを説明してほしいのですが...。 もしかして、質問文にある「a4(kkkkkk)→a3までを統合」とは、「結合した文字列を b4 セルに記入し、セルの結合はどこにも施さない」という意味でしょうか?何となく今、そんな気がしてきました。そうであれば、もう回答が出ていますね。 ちなみに excel において「統合」とは、重複しているデータの削除、合算などを行う機能のことで、ご質問の内容とは全く異なるものです。 マクロを使いたいとのことですが、できれば質問者さんが既に調べたこと、途中まででも書いてみたコードを載せていただきたかったです。何しろここは qa サイトであり、業務委託ではなく、質問をする場なので...。 なお、セルに b1 =a1 b2 =if(a1="kkkkkk",a2,b1&a2) c2 =a1="kkkkkk" あるいは =0+(a1="kkkkkk") と記入して b2 と c1 からそれぞれ下方向にオートフィルし、値複写で数式を除き、オートフィルタで「kkkkkk」でない行を抽出し、関係ない行をクリアすれば、お望みの結果は excel の一般機能だけでサッとできてしまいます。たくさん繰り返す予定でもない限りマクロを使うまでもありませんので、ご参考に。