• ベストアンサー

エクセル2000 セル内での改行

こんばんは。 次のような表があると仮定します。   A   B    C     D    1 今日の 2     12時 3          渋谷で待つ  4 5 D5に  今日の     12時     渋谷で待つ という具合に、自動的に入力もしくは、表示するにはどうすればいいでしょうか? 「&」の記号でつなげると横に長い文章になってしまします。 また、これの逆の作業をしたい場合はどうすればいいでしょうか? 例 東京   特許    →  東京・特許・許可局   許可局    1つのセルに折り返して入力されているものを、それぞれ改行を境に別のセルに1つずつ分けて入力。。 教えてくださいまし。 ほんと、すみません。

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

  • ベストアンサー
  • comv
  • ベストアンサー率52% (322/612)
回答No.3

みなさんこんばんは! >1つのセルに折り返して入力されているものを、 >それぞれ改行を境に別のセルに1つずつ分けて入力。。 私もこちらの方を1案  データ 区切り位置 次へ [区切り文字]その他をチェック  記入欄をクリックしてカーソル表示させた後 [Ctrl]+J 完了

norinori55
質問者

お礼

わお。 いま、実際に試したところなんですが、思わず「おお!!」と声をあげてしまいました。  「Ctrl」+J なる技があるとは。。 ヘルプを今みてるところなんですが、見つけられません。  でもすごいですね、この技。 ありがとうございました。

その他の回答 (2)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

>また、これの逆の作業をしたい場合はどうすればいいでしょうか? こちらもExcelの機能でできそうですね。 セル内で改行されているデータをコピーして、展開したいセルに貼り付けます。 貼り付けたセルを選んで、メニューの、データ→区切り位置で元のデータの形式は、  スペースによって右または左に・・・・固定長・・のデータ を選んで、次へ  データのプレビューで、『・』の両側をクリックしてデータを分割します。縦線が入ります。終わったら次へ  縦線ではさまれた『・』の箇所を選んで『削除する』にします。全部行ったら完了! できあがり? (Excel2000で確認済みです) 関数でもできますが長くなりますね。

norinori55
質問者

お礼

 nisi6さん。先日も回答いただきありがとうございます。  なるほど、もともとある機能をつかえば、可能でしたね。  状況に応じて臨機応変にできればいいのですが、難しい操作に出会うと「うーーむ、これはVBAじゃないと無理だろう・・・」と勝手に判断して、関連URLを徘徊しておりました。 勉強になりました。  

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

1.今日の12時渋谷で待つ   セルD5に次の式を設定します。   =A1&char(10)&B2&char(10)&C3 セルD5の書式設定を「折り返して全体を表示する」にしてくださいね。 2.東京・特許・許可局   上記のようにchar(10)で改行を作成している場合、   VBAのSPLITを使用して分解します。 dim sArrey() as string sArrey() = split( Sheet(1).Range("D5"), chr(10) ) ここではChar(10)では無く、chr(10)であることに注意してください。   あとはsArrey(0),(1),(2)に値があるので目的のセルに代入。   なお、個数の取得は ubound でOKです。

norinori55
質問者

お礼

Sub わける() Dim sArrey() As String sArrey() = Split(Sheets(1).Range("D5"), Chr(10)) Range("g1") = sArrey(0) Range("g2") = sArrey(1) Range("g3") = sArrey(2) End Sub と記入したら G列の上から 東京 特許 許可局  と入力できました。 ありがとうございました。 最近、VBAなるものに興味をもちはじめたところです。 セルへの入力、内容参照等の部分でつまづいている最中です。  もっと勉強したいと思います。 uboundはただいま調査中。

関連するQ&A

専門家に質問してみよう