- ベストアンサー
EXCELで改行しながら文字表示する方法
- EXCELで改行しながら文字表示する方法について説明します。セルB1に「12345678(改行)ABCDEFGH(改行)abcdefgh(改行)09876543」と表示させるため、セルB5からF5までの文字列を結合します。カーソルがある行のセルB*の文字を表示する方法も紹介します。
- EXCELで改行しながら文字表示する方法を紹介します。セルB1に「12345678(改行)ABCDEFGH(改行)abcdefgh(改行)09876543」と表示させたい場合、セルB5からF5までの文字列を結合します。カーソルがある行のセルB*の文字を表示する方法もご紹介します。
- EXCELで改行しながら文字を表示する方法について解説します。セルB1に「12345678(改行)ABCDEFGH(改行)abcdefgh(改行)09876543」と表示させるためには、セルB5からF5までの文字列を結合します。カーソルがある行のセルB*の文字を表示する方法もご説明します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
それでは、私も一例として。 考え方は、あるセルを選択するとその行のC~F列の内容を 改行付きでつなげて、B1セルに表示する、と言う簡単な(適当な?)モノです。 > できるだけ8文字単位に この考慮は一切していませんが、 > 半角スペースを入れたり して調整しているようですし、 何より改行を入れるなら文字数なんて関係ない、と言う勝手な解釈です。 なので、確認として「1セルに9文字以上入力されることがあるのか?」 あるいは「その場合の考慮・扱いをどうしたいのか?」と言うところが残ります。 ではでは、以下をワークシートモジュールに貼り付けて色々お試しくださいませ。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim TagRow As Long Dim myText As String TagRow = Target.Row If TagRow=1 Then Exit Sub myText = "" For i = 3 To 6 If Cells(TagRow, i).Value <> "" Then If myText = "" Then myText = Cells(TagRow, i).Value Else myText = myText & Chr(10) & Cells(TagRow, i).Value End If End If Next Cells(1, 2).Value = myText End Sub ちなみにこの考え方だと、現在のB*セルは不要かもしれません。
その他の回答 (1)
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! VBAになってしまいますが、一例です。 >C5からF5を入力することにより、カーソルをB5にもっていくと >結果としてB1に表示させるというものです とありますが、C~F列データ変更があればその行のB列に表示する!という考え方です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてC~F列にデータを入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から If Application.Intersect(Target, Range("C:F")) Is Nothing Or Target.Count <> 1 Then Exit Sub Dim i As Long, j As Long, buf As String i = Target.Row For j = 3 To 6 buf = buf & Cells(i, j) & vbCrLf Next j With Cells(i, 2) .Value = Left(buf, Len(buf) - 1) .Select End With End Sub 'この行まで ※ B列幅は改行されても十分表示できるだけの幅にしておいてください。 一発で解決!という訳にはいかないと思いますが、たたき台としての投稿です。m(_ _)m
お礼
ご回答有難うございます。 内容は、よく理解できませんが、 そのような感じです。 ただ、結合したB5のデータは必要なので…。 VBAデータの貼り付け方法など丁寧に頂き 有難うございました。
補足
回答者様2の方法に、もう少しアレンジしたいと思います。
お礼
ご回答有難うございます。 B5の結合データは必要なので。 回答者様の気になる点が確かに説明不足でありました。 もう少し自分でアレンジできればと、奮闘中ですが、 いまいち、内容が理解できず…。 有難うございました。
補足
1つのセルに9文字以上入力することも あります。 半角32・全角16文字で混在します。 質問の仕方が悪くて…。 B5の結果を見つつ、C5~F5のデータ内容にスペースを 入れるなどして、細工をしていきたいです。 NG例 わたしは パソコンに (半角8文字でない) 興味があ (あ で改行になり読みづらい) ります。 編集例 わたしは PCに 興味が あります C5~F5の内容は無視して、 カーソル行のB列の文字列を単に B1に8文字単位で改行して表示したい というのが、正しい質問の仕方だったようです。 すみません。 自分で今やっているところですが、 VBAというのがよくわからず、再度回答いただけると 助かります。