• 締切済み

エクセル2007で、マクロで、結合セルに入れた文字列の折り返し回数を取

Wendy02の回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

#1の方の引用先の内容は、せっかくで申し訳ないけれども、解決はしていないと思います。 結合セルにAutoFit を使えば、折り返しが崩れてしまいます。Justifyを用いればよいのではないかと思います。 手動で説明すると、 例えば、A1 にあるとしたら、どこかの新しいシートのひとつの結合していないセルの幅を、元のA1セルの幅に合わせ、文字列のみをコピーして、編集--フィル--文字の割り付け で行を数えればよいということです。 あまり実用的ではないと思いますが、それをマクロにすると以下のようになるように思いました。ただ、基本的には、結合セルは、VBAでは、ネックになります。挙動がまったく変わってしまうことがあるからです。 '// Sub CountLineInCell()  Dim sh1 As Worksheet, sh2 As Worksheet  Dim w As Double, c As Variant  Dim tmpCell As Range  Dim msg As Variant  Set sh1 = ActiveSheet  With sh1.Range("A1").MergeArea 'Range("A1")は、ActiveCell でも可能   If .Cells(1, 1).Value = "" Then Set sh1 = Nothing: Exit Sub   For Each c In .Cells    w = w + .ColumnWidth   Next   Set sh2 = Worksheets.Add(After:=Worksheets(Sheets.Count))   sh2.Cells(1, 1).Value = .Value  End With  Application.DisplayAlerts = False  With sh2.Cells(1, 1)   .ColumnWidth = w   .WrapText = True   .EntireRow.AutoFit   .Justify   msg = .Cells(Rows.Count, 1).End(xlUp).Row  End With  sh2.Delete  Application.DisplayAlerts = True  sh1.Activate  MsgBox msg  Set sh1 = Nothing: Set tmpCell = Nothing: Set sh2 = Nothing End Sub

関連するQ&A

  • Excelで選択した文字列を結合するマクロ

    Excelで複数選択したセルの文字列を結合するマクロってありますか? CONCATENATEや&でいつも文字列を結合しているのですが、 一度に10セル前後結合するので効率が悪く困っています。 お手数ですがご教授いただけたらと思います。 宜しくお願い致します。

  • エクセルで二つの列を結合して作ったセルと、一つの列で作ったセルがあるの

    エクセルで二つの列を結合して作ったセルと、一つの列で作ったセルがあるのですが、 同じ幅(ピクセル数)でそのほかの条件は同じなのに、 『縮小して文字全体を表示する』にすると 同じ桁数でも、文字の高さが違う状態になってしまいます。 フォント数を変えようかとも思ったのですが、6だと小さすぎて8だと大きすぎます^^; 何か良い方法はないでしょうか。 結合したセルと単独のセルとでは、同じ文字の大きさはできないのでしょうか。 困っております。。よろしくお願いします。

  • エクセル多数文字列セル結合と改行

    Excel2007を使っています。 セルA1~A100までに文字列が入っています。 これを結合し、セルの終わりごとに改行を入れたいです。 「=CONCATENATE(A1,CHAR(10),A2,......)」とやる以外で、うまくやる方法はありますでしょうか?

  • Excelマクロにて文字列連結

    現在Excelのマクロにて文字列の連結を行っているのですが、 繋いだ文字列を改行を付けて連結を行いたいです。 セルとセルの中の文字列を改行を付けて連結するにはどうしたらいいのでしょうか? 例 A1セル「あああ」 B1セル「いいい」 C1セル「あああ       いいい」 Worksheets(sheet1).Range("C1").Value = Worksheets(sheet1).Range("A1").Value + Worksheets(sheet1).Range("B1").Value をすると 「あああいいい」と1行で表示されてしまいます。     ↑ ここに改行を入れるにはどうしたらいいのでしょうか? 以上、宜しくお願いします。

  • Excel2007のマクロで文字列を結合

    Excel2007のマクロで文字列を結合したいのですがうまくいきません。 1、セルA1からU1までデータが1つずつ入ってます。 2、1のデータを3列ずつ結合してA3からG3にコピー。 例えば、セルA1あ、B1い、C1う、D1え、E1お、F1か、ならセルA3あいう、セルB3えおか、のようにマクロで一機にできるソースをお願いします。

  • Excelのセル内での文字の勝手な折り返しをやめた

    こんにちは、不思議な現象が出ていて、悩んでいます。 どなたか同じ現象になった方はおられますか? セル内に大量の文字(900文字程度)が入っています。 セルの文字の折り返しにチェックが入っています。 そのような状況の中で、規則性のない行で改行されてしまいます。 +----------------------------------------+ |あああああああああああああああああああああ| |あああああああああああああああああああああ| |あああああああああ                |←途中で行が変わってしまいます。 |あああああああああああああああああああああ| |ああああああああああああああああああ    | |あああああああああああああああああああああ| +----------------------------------------+ 3行目の語尾に改行コードは入っていません。 メモ帳などへ上記の内容を貼り付けて確認しても、改行コードは含まれておりません。 自分が望んでいる結果は以下のような感じで、Excelの自動折り返しのみで そのまま表示したいです。 +----------------------------------------+ |あああああああああああああああああああああ| |あああああああああああああああああああああ| |あああああああああああああああああああああ| |あああああああああああああああああああああ| |あああああああああああああああああああああ| |あああああああああああああああああああああ| +----------------------------------------+ 使用している PC は XP で、Excel は 2007 を使用しております。 何かExcelの制限があるのでしょうか? よろしくお願いします。

  • エクセルで0表示以外のセルの文字列を結合する方法

    エクセル(2003)で文字列の結合を「&」や「CONCATENATE関数」を使っておこなっていますが、文字列の空白または0表示の箇所のセルがあると「文字列000文字列00」のように「0」が表示されてしまいます。IF関数を併用してやっても「0」が表示されます。どのようにしたら「文字列 文字列」のように0表示なしで結合できるでしょうか。教えて下さい。現在、約180のセルにある文字列を1つに結合しようとしています。そのうちの結合文字列は多くて20ぐらいです。また、各セルの文字列はVLOOKUP関数により返しています。よろしくお願いします。

  • 【エクセル】結合した文字列の検索について

    エクセルで、複数セルの文字列を「=A1&A2&A3&…」という感じで、B1セルに結合するとして、 例えばA2の文字列に「★」という文字が含まれているとします。 検索で「★」を指定した場合、A2のものは引っかかるのですが、B1の結合された文字列は引っかかりません。 B1セルの文字列も通常通り検索できるようにするには、B1セルでどのような処理をすれば良いのでしょうか。

  • エクセル:結合したセルの高さ自動設定

    EXCEL2000で結合したセルの高さ自動設定がききません。 結合したセルは ・文字の配置 横位置:左詰 縦位置:上詰め ・文字の制御 折り返して全体を表示 セルを結合する になっています。 セルを5つ結合して、その結合したセルの横幅を文字列が 越えたら次の行にいって、かつその折り返し部分が見えるように したいんです。 結合していない単体のセルの場合は、折り返され、かつ 折り返し部分が見えるように高さが変わります。 結合したセルでの高さ自動設定はできないのでしょうか? 教えてください。よろしくお願いします。

  • Excelの結合したセルの検索

    Excelで列方向に結合したセルを検索し、結合セルの先頭の行番号を 取得する方法を考えていますが、良いアイディアが浮かびません。 VBAで良い方法、又はサンプルがありましたら教えて下さい。