• ベストアンサー

ExcelVBAについて質問します。

ExcelVBAについて質問します。 「固定されたセルの横幅」と「入力された文字数」の関係について ・セルが横に2個有る場合("A1","A2") ・A1に長い文字列を入力した場合、A2に文字が有る場合と、無い場合で表示が異なります。 ・A2に文字が無ければ、A1の長い文字列は、A2にも表示されます。 ・A2に文字が有れば、A1の長い文字列は、A2には表示されません。 質問 ・A2の状態に関係なく表示されないようにしたい。 ・その場合、A1の文字列は一部かけても良い。 以上の事をExcelVBAで行うにはどうすればよいかお願いします。

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

  • ベストアンサー
  • fujiponxx
  • ベストアンサー率32% (186/580)
回答No.4

表示されないようにしたい。 でしたか!よく読んでなかったですわ。 で、A1の書式設定の配置タブで「折り返して全体を表示する」に チェックを入れておいて、セルの縦幅を1文字分にしておくと横のセルに表示しません。 これじゃダメですかね?

smiyaf
質問者

お礼

ありがとうございます。 なるほど 感心しました、ありがとうございます。 これもお願いします。 VBAでセルの横幅、縦幅の設定わ分かりますが、 「折り返して全体を表示する」は ExcelVBAではどの様にしますか?

その他の回答 (4)

  • fujiponxx
  • ベストアンサー率32% (186/580)
回答No.5

マクロの記録でやるとこうなるみたいですね。 ------------------------ Sub Macro1() ' ' Macro1 Macro ' ' Range("B2").Select With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlCenter .WrapText = True            'これですね .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With End Sub

参考URL:
http://www.excellenceweb.net/vba/object/range_member/alignment/wraptext.html
smiyaf
質問者

お礼

ありがとうございます。 >マクロの記録でやるとこうなるみたいですね この様な調べ方には気が付きませんでした。

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.3

Excel2003 で確認しています。 エクセルの書式として対応する設定が無いので、お望みの設定は できないと思います。 代替案として、 ・右のセルにダミーでスペースを入れる。 ・左のセルを2つのセル以上の連結セルにする。 ではみ出なくなります。

smiyaf
質問者

お礼

ありがとうございます。 前から疑問に思いながらそのままにしていました。 最近、どうしても解決する必要が有り、質問してみました。 便利の時も有るのですが、困る時も有りますね。

  • fujiponxx
  • ベストアンサー率32% (186/580)
回答No.2

横にならんだセルであれば、なにもしなくても言われたように表示すると思います。 ちなみに、横だとa1 b1 だと思います。 以下の様に登録して、a1が5文字の幅だったとすると a1:あああああああああああああああああああああ b2:いいいいいいいいいいいいいいい 見た目は、以下のようになりますので一部かけても表示されてますね。 あああああいいいいいいいいいいいいいいい 質問で要求されている内容がよくわからないのですが、 以下のように具体的に書いていただければ回答しやすいのです。 ・文字数によってセルの文字幅を変更したい。 ・表示書式を変更したい。

smiyaf
質問者

補足

すいません 横だからA1、B1です >以下の様に登録して、a1が5文字の幅だったとすると >A1:あああああああああああああああああああああ >B1:いいいいいいいいいいいいいいい >見た目は >あああああいいいいいいいいいいいいいいい となります。 B1に何も無い場合は B1の領域まで あああああああああああああああああああああ と表示されます。 これを防ぎたいのです。 >・文字数によってセルの文字幅を変更したい。 変更しない >・表示書式を変更したい。 変更しない 以上です。 宜しくお願いします。

  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

セルの高さを決めて、 セルの書式設定の配置を”折り返して全体を表示”にする ●A1~A99の場合 '----------------------------- Sub Test()   With Range("A1:A99")      .WrapText = True      .RowHeight = Range("A1").RowHeight   End With End Sub '-----------------------------   A列全行なら、With Range("A:A")   以上です。  

関連するQ&A

  • ExcelVBAでセルに入力されている種類と文字列を表示したいのですが

    ExcelVBAでセルに入力されている種類と文字列を表示したいのですが… Excelで、例えば下のように文字が入力されているとき、 A1:あああ B1:あああ C1:いいい D1:あああ E1:ううう F1:いいい このときにセルに入力されている種類(数)とその文字(この場合だと、3種類:『あああ』、『いいい』、『ううう』)をメッセージボックスで表示させたいのですが、VBAで作るのは可能でしょうか?

  • ExcelVBAでの文字列置換について

    ExcelVBAでの文字列置換について ExcelVBAは全く初心者のですが、下記の処理を早急に行う必要があり、質問させていただきます。 物品の使用者をエクセル管理しています。 シート1のA列に物品名、B列に現使用者名を入力しています。(約2000件) 一部の使用者に変更があった場合に、シート2に振替リストを シート2 A列=現使用者 B列=新使用者 と作成しています。 シート1のB列:現使用者から、シート2のA列:現使用者と同一な文字列を検索し、シート2B列:新使用者に置換するマクロはどのように書けばよいのでしょうか? 可能であれば、シート2のC列に置換結果を表示させたいです。

  • ExcelVBAの質問です

    VBAはまったくの初心者です。仕事上Excelで次のような操作をよくしますが、場合によっては量が多く、VBAで効率化できないかと思っていますが、ネット上いくら捜しても似たような書き込みがないので、ここで質問します。どなたか教えて頂けないでしょうか? Sheet1のA列に入力されている連続番号(例えばA1=01, A2=02, A3=03...)をセルA1から順次にSheet2のセルA1にコピーし、コピーした番号でブックに名前を付けて保存します。コピー先はいつも同じブック内のSheet2のセルA1に固定されています。 質問内容がうまく伝わったのか不安ですが、よろしくお願い致します。

  • ExcelVBAで直ぐに繁栄しないPrivate

    ExcelVBAで直ぐに繁栄しないPrivate Sub Worksheet_Change(ByVal Target As Range) If Target = Range("A1") Then   Range("B1").Value=fncMojiHenkan(Range("A1").Value End If End Sub セルA1に文字列を入力したり、他から文字列をコピペしてEnterキーを押しても、セルB1に直ぐに繁栄されません。 もう一度Enterキーを押すか矢印キーでセル移動しないとセットした値がB1に表示されません。 値をセットして直ぐに表示させるにはどうしたらいいでしょうか?

  • EXCELの質問についてです。

    EXCELの質問についてです。宜しくお願いします。 あるセル(例:A1)に文字列が入っています。 他のセル(例:A1)に文字列が入っています。 これを、比較して先頭数文字が同じ場合、 他のセルの文字列全てを表示したいのですが、 どの様にしたら良いでしょうか? ちなみに、IFでその文字列が(真)ならそのセル(B1) を表示とかやりたいのですが… 初心者的質問で申し訳ないのですが、何方かどうかご教授お願致します。

  • ExcelVBAのマクロを使ってテキストファイルの文字を読み込む

    お世話になります 表題のとおりなのですが、ExcelVBAのマクロを使ってテキストファイルの文字を読み込むマクロの書き方を探しています。 具体的には、ExcelVBAで作ったボタンを押すと、あるテキストファイル(TEST.txt)に書かれている文字列をExcelVBAで取得して、それをセルに表示させるものです。 VBA関連のサイトがあまり無く困っています、宜しくお願いします。

  • HTML CSS 文字幅の固定

    現在HTMLで文書を表示しているのですが、その文書の横幅を固定したいのです。 ただ、横幅は文字数で固定したいのです。 現在はひらがなで33文字固定はできています。これは無理やりCSSのWidthで幅をピクセル単位で固定しています。 ですが、この場合だと漢字を入力すると33文字の横幅固定ができません。 おそらく漢字には微妙な余白が設定されているのだと思うのですが、この漢字を入力した場合でも横幅の文字数で固定することが可能でしょうか?

    • ベストアンサー
    • HTML
  • ExcelVBAで複数範囲した色セルと、条件で別セルも同色になるようにしたい

    ▼Excel2003を利用でSheet1とSheet2を使っての質問です▼ 下記に簡単に事例を記載いたします。(※実際にはデータが沢山あります) ★Sheet1にはA1~G3範囲横7列縦3行の表があり、表中にはA1、B1、C1、D1が空白でその次からは1~17までの数字が横列に沿って順次入っています。G3セルが最後の数字の17となっています。 横7列に入っている数字はA1、A2、A3、A4空白のセル以外は列毎にセル背景色が異なり全部で7色入っています。 ★次にSheet2に新たにA1~D4範囲内に表を作り、順次セルに数字値を入力し、例えばSheet2のA1セルが1だったら、そのSheet2のA1セル背景色をSheet1の表中の1が入力されているセルと同じ背景色にしたいです。 以上の課題をExcelVBAを使って解決したいのですがご存じの方いらっしゃいましたらVBAでどうプログラミング表現すれば良いか教えていただければ幸いです。 ちなみに私自身はExcelVBAを一度も使ったことがなく初心者です。 恐縮ながらもよろしくお願い申し上げます。

  • Excel:セル枠外にはみ出た文字列全体の表示

    お世話になります。WindowsXPでExcel2002を使用しております。是非教えてください。 Excelで入力した文字列がセルの横幅を越えた長さとなった場合、右隣のセルが未入力であれば、自動的に全体が表示されるようになっています。 しかし、右隣のセルに、例えば関数を入力していた場合など何らかのデータを入力していた場合には、枠内までの文字しか表示されなくなります。 右隣のセルが、関数計算の結果、何らかの数値、文字列が表示される場合には致し方ないと思いますが、特に何も表示されない時、左隣のセルの文字列全体が表示されるようにしたいのですが、何らかの方法はございますでしょうか。 ちなみに、具体的な状況については以下の通りです。  |A|B| 1| | | ・A1、B1セルにはそれぞれ同じIF関数(=IF([論理式],A21,""))を入力。 ・A1セルのIF関数が「真」となったため、A21の文字列("浜崎総務部長の来訪")が表示される。 ・B1セルのIF関数が「偽」となったため、何も表示されず。 宜しくお願い致します。

  • ExcelVBAマクロでの文字コード出力について確

    ExcelVBAマクロでの文字コード出力について確認させてください。 ExcelでA列から行方向に漢字、記号(環境依存文字も含む)のデータが1文字ずつ入力されてあります。これをExcelVBAマクロにより、B列にShift_JISの文字コード、C列にJIS X 0213の文字コードに変換して表示することは可能でしょうか。 例えばIMEパッドで「亜」の文字コードはShift_JISでは"889F"、JIS X 0213では"1-16-1"ですがこの文字コードをB列、C列にそれぞれ表示させたいです。 またその他のいい方法があればご教授いただけますでしょうか。 以上、よろしくお願いいたします。

専門家に質問してみよう