• ベストアンサー

マクロについてご教授下さい

エクセルについて質問です。 以下のようなデータがあったとします。 ※イメージ図を添付しております。 ☆パターン1  | A   | B ----------------- 1 |あああ|えええ ----------------- 2 |いいい|おおお  |いいい| ----------------- 3 |ううう|かかか ※A2セルはセル内でAlt+Enterで改行しています。 このような状態のデータを以下パターン2のように変更したいです。 ☆パターン2  | A   | B ----------------- 1 |あああ|えええ  |    |  |いいい|おおお  |いいい|  |    | |ううう|かかか ----------------- ※1行にまとめたい。 そして、またパターン1の状態にも戻せるようにしたいのです。 以下のような運用を考えています。 [1]パターン1で情報を入力 [2]マクロを実行してパターン2として保存   ※パターン2は別シートにする予定 [3]パターン2でマクロを実行し、パターン1へ [4]パターン1の状態でデータを編集し、再度パターン2として保存 自分で作ってみようと思ったのですが、挫折してしまいました。。。 マクロの知識としては、簡単な業務用の管理ファイルを作れる程度ですが、まだ勉強中です。 かなり、面倒な質問とは思いますが、ご教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

マクロにこだわらなくても、数式である程度解決できると思います。 どうしてもマクロで!というなら、式をマクロに記録させてやって下さい。 同一シートで計算させていますので、 別シートでするなら、それに応じて変化させて下さい。 B8: =B2&CHAR(10)&CHAR(10)&B3&CHAR(10)&CHAR(10)&B4 B11: =LEFT(B8,FIND(CHAR(10)&CHAR(10),B8)-1) B12: =MID(B8,LEN(B11)+3,FIND(CHAR(10)&CHAR(10),B8,2+LEN(B11))-LEN(B11)-3) B13: =RIGHT(B8,LEN(B8)-LEN(B11)-LEN(B12)-4)

tatewaki_K
質問者

お礼

ご回答ありがとうございます。 私の質問が悪く、意図が伝わらないようなので内容を変えて再質問させて頂きました。

その他の回答 (1)

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

マクロを使わずとも、シート2のA1セルに、 =Sheet1!A1&char(10)&Sheet1!A2&char(10)&Sheet1!A3 などとする事で、お望みの文字列が作成できるのでは? 逆は、2つの連続する改行をデータ区切りの位置とするとか。

tatewaki_K
質問者

お礼

ご回答ありがとうございます。 私の質問が悪く、意図が伝わらないようなので内容を変えて再質問させて頂きました。

関連するQ&A

  • エクセルマクロでご教授下さい。

    エクセルマクロでご教授下さい。 1.あるマクロをセルを入力(Enter)したら実行するには どのように記述すればいいでしょうか? 例えばG12に文字を入力しEnterした時 に実行したい。 2.あるマクロをシートを選択した時に実行するには どのように記述すればいいでしょうか? 以上宜しくお願い致します。

  • Excel でカレンダーを作りたい(マクロなどで)

    マクロなどを使って,Excel でカレンダーを作りたいと思ったのですが,難しくて挫折しています。具体的には以下のようなことを行ないたいと考えています。 特定のセルに例えば「09/04」と入力して Enter キーを押すとすると, (1)A1セルに「1」A2セルに「2」…A30セルに「30」と入力される。 (2)B1セルに「水」B2セルに「木」…B30セルに「木」と入力される。 (3)日曜日の日付と曜日のそれぞれのセルだけ太字になる。 情報をいただければ幸いです。

  • 【エクセル】マクロで改行

    エクセルでAltを押しながらEnterを押すと 改行できますが、 以下のように、マクロで改行させる方法が ありましたらお願いします。 Selection.FormulaR1C1 = " abc \n def "

  • Alt+Enterでセル内改行された文字をVBで認識させるには?

    Excel2000です。 例えばA1に以下の様にAlt+Enterで改行された文字が書かれている時に IF文を使ってマクロを実行したい場合、???にはどう書けば良いのでしょうか? ???に、1234Alt+Enter5678 と同じとさせる書き方です。 ┌──┐ │1234│ │5678│ └──┘ Dim 認識 As String 認識 = Cells(1,1).Value IF 認識 = ??? Then ・・・・実行したいマクロ

  • エクセルのショートカット(AltキーとEnterキー)

    こんにちは。 Excel2000(Win2000)の環境です。 特定のエクセルファイルで、 セル選択の状態で、Alt + Enterを押すと、印刷実行してしまいます。 これを解除する方法は無いでしょうか? セルの編集状態時に、セル内での改行で使用することはあります。 印刷については、意図的に何か設定したつもりは無いので解除しようがありません。 どなたか、ご存知の方いらっしゃったら教えてください。 逆に、マクロで、Alt + Enter で印刷実行させるということが可能なのでしょうか?

  • Excel: 複数セルの内容を一つに連結するマクロ

    複数セルの内容を一つに連結するマクロの書き方を教えてください。例えば、セルの内容が以下で、 A1:apple A2:orange A3:banana A1からA3を選んだ状態でマクロを実行すると、 先頭のセル(ここではA1)に連結された内容が 以下のように代入され、先頭セル以外はクリア されるようにします。 apple<改行> orange<改行> banana<改行> 選択範囲の行(横方向)の大きさは可変 ですが、列(縦方向)は1列のみです。 よろしくお願いします。

  • ExcelVBAのマクロを特定条件まで繰り返し。

    初めて質問させていただきます。 ExcelVBAで特定マクロを特定回数あるいは隣のセルが空欄になるまで実行させたいのですが、VBAの知識が乏しく判りません。例えば、セルB1~D1を選択してマクロAを実行し、セルA2が空欄で無ければ改行、セルB2~D2を選択してマクロAを実行、、、とセルAが「空欄」になるまで繰り返します。この作業を約1000行程度行わせるため、手作業では途方も無い時間を費やすことになります。 ご指導いただければ助かります。

  • CLEAN関数マクロ記述式!

    エクセルで、(例えば)A列のセル内改行されたデータを「CLEAN関数」でB列に表示させたい時、A列に入っている分のデータだけを隣のB列に表示させる場合のマクロの記述式を教えて下さい。セルA1「あああ 改行 いいい」→B1「あああいいい」、セルA2「ううう 改行 えええ」→B2「うううえええ」、セルA3「データなし」→B3「表示なし」  イメージご理解して頂けたでしょうか?要するにA列に入ってるセルのデータのみをCLEAN関数でB列に表示させ、A列に入ってない場合はCLEAN関数を適用しない場合の記述式です。どうか宜しくお願いします。

  • 条件処理マクロ

    エクセルのマクロについて教えていただけないでしょうか? セル A3以下にデーターが入っています(データーが入っている最終行は変化します) B3以下にもデーターが入っていますが、行によっては空欄にもなる場合があります やりたいこと セルAにデーターがあり、セルBにデーターがない場合はセルAのデーターをセルBにコピー セルAにデーターがあり、セルBにデーターがある場合はコピーせず、次の行を判定 これをAにデーターが入っていないセルが出てくるまで繰り返す 条件分岐と繰り返しマクロの組み合わせ方がよくわりません よろしくお願いします

  • エクセルで連番をマクロで

    こんにちは いつもお世話になっています。 Windows7、エクセル2010で教えてください。  B3から仮にB100まで文字列があるとします、空白セルはありません。 この状態でA3からA100まで1から始まる連番をマクロで実行したいのです。 実際はB列のデータの最終行は不定です。つまり、B列にデータがなくなるまで(空白セルになるまで)A列に連番をつけたいのです。現在はA3,A4に1,2と入力し、オートフィルで該当セルを選択し「予測」で連番をつけています。 マクロ記録ではB列にデータがなくなる判断ができなくて作れません。 この作業が頻繁にあるものですからマクロができれば助かります。 よろしくお願いいたします。

専門家に質問してみよう