質問: エクセルの関数またはマクロについて ある一つのセルにテキストデータを貼り付けると、 そのデータを項目毎に、別のセルに振り分けるという 処理が実行可能でしょうか? ※詳細は添付画像をご参照いただけると幸いです。 画像内のセルb24・b25・b26の項目は、 初めから入力されているというパターンでも いいです。 参考になる関数・もしくはマクロvbaがあれば 教えていただきたいです。 よろしくお願いいたします。
回答: こんにちは >画像内のセルb24・b25・b26の項目は、 >初めから入力されているというパターンでも >いいです vbaの方が簡単な気もしますが、関数でやってみました。 関数の場合、テキストボックスの値を直接参照できませんので、以下の準備が必要です。 <準備> ・テキストボックスは、activexのテキストボックスを利用し、 ・見えなくなるセルにリンクさせておく。 (添付図では、わざとずらしてありますが、h25にリンクしてあります) ・複数行対応にして、改行表示が効くようにしておく。 ※ b列の文字は先に入力されているものとしています。 添付図では、c24セルに =trim(substitute(mid($h$25,find(b24,$h$25)+len(b24),if(row()=26,len($h$25)+1,find(b25,$h$25))-find(b24,$h$25)-len(b24)),char(10),"")) の式を入力して、下方にフィルコピーしています。 ※ エラー処理はしていませんので、b列の文字列がテキストに含まれていない場合はエラー表示になります。