ある行に手入力されたら、ある文字を追加したい

  1. 空白のE列に手で文字が入力されたら
  2. D列の文字列がAだったら 先頭にAを追加
  3. D列の文字列がBだったら 先頭にBを追加
  4. それをコピペで貼り付けられるようにしたい
    ・150行まで作業できれば十分

条件付き書式にしたところ、「見た目は」3まで出来ているのですが、4・・・他の外部ファイルにコピペしてみたところ1の内容にしかならず付加文字列がつきません。それでマクロでできないかなと調べて行き詰まりました。
E列ではなく他の所に手入力して、E列に関数いれてそれをコピペする方法が一番簡単に思えますが、実際にやってみると逆にミスを誘発しすぎたのでもっと簡単でミスのない方法を模索しています。

これって実現可能でしょうか。

やはりF欄などに表示させる方が良いと思います。E欄が空白ならばF欄も空白にすることができます。
F欄には =IF(E6=0,"",D6&E6) とか入力します。

画像の説明

そうですか・・・;

それが一番簡単な解決方法ではあるけど、一番ミスをしやすい方法でもあり・・・

(起きてるミス:コピペセルを見落とす 隣が空白だとさらに隣と文字が重なり見えないため。それを避けるにはセル幅を合わせることになるが、そうすると画面に表示できなくなり横スクロール操作が必要になる=面倒でしかないw)

そのミスを回避しようとすれば

  1. 入力するセルの入力が終わったら
  2. その列を非表示にして
  3. コピペ用の列を表示して

終わったら2と3の逆をもう一回やって・・・と工程増えて複雑になりすぎるんですよね・・・
非表示表示UI扱いにくいし・・・

とはいうものの書いたら変更をマクロ化したら、なんか無限に処理しそうな気もしてきましたorz
なんか方法考えます・・・Libre外でも。

愚痴:条件付き書式の書式もコピペできたら助かるのに・・・。

「表示」→「行と列の固定」 などはいかがでしょうか。アイコンも表示されているはず。スクロールする場合に項目等を固定できるのですごく見やすくなります。

正直のところいまひとつ要件を汲み取れないでいて、hibagonsanさんの回答の焼き直しになるのですが…、こういうこととは、やはり違うのでしょうか? これで一応、示されている要求事項は満たしているように思えるのですが。


画像の説明




入力欄(E列)と出力欄(F列)を並べるのがまずければ、シートを分けるという手もあります。




どうも「それが(中略)一番ミスをしやすい方法」という点に合点がいかず、クエスチョンマークを浮かせています。

  • 出力セル(列)、コピペセル(列)、「隣」がどこ(どの列)なのか。
  • 見落とさないよう、列まるごとコピーではダメなのか。
  • セル幅を合わせるとは何と何を合わせるのか。
  • 各列はどれほどの幅・文字数で使うものなのか。
  • 列の表示・非表示がなぜ必要なのか。

などが文面から伝わって来ません。要件が分からないと皆、口を出しかねてしまいます。スクリーンショットの添付など、表現に工夫を期待したいところです。

入力欄と出力欄を分けることは計算処理において原則と構えておきたい事項です。
お気づきのように、混ぜてしまうと関数であろうがマクロであろうが、無限ループが発生しえます。