Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2233 / 13646 ツリー ←次へ | 前へ→

【69237】結合セルの自動行幅調整 VBA初心者 11/6/12(日) 15:19 質問[未読]
【69238】Re:結合セルの自動行幅調整 VBA上級者 11/6/12(日) 20:40 発言[未読]
【69239】Re:結合セルの自動行幅調整 UO3 11/6/12(日) 22:32 発言[未読]
【69240】Re:結合セルの自動行幅調整 UO3 11/6/12(日) 22:40 発言[未読]
【69241】Re:結合セルの自動行幅調整 UO3 11/6/12(日) 22:52 発言[未読]
【69242】Re:結合セルの自動行幅調整 hige_082 11/6/12(日) 23:02 発言[未読]
【69243】Re:結合セルの自動行幅調整 UO3 11/6/13(月) 11:30 発言[未読]
【69246】Re:結合セルの自動行幅調整 VBA初心者 11/6/13(月) 23:06 お礼[未読]
【69247】Re:結合セルの自動行幅調整 hige_082 11/6/13(月) 23:19 発言[未読]

【69237】結合セルの自動行幅調整
質問  VBA初心者  - 11/6/12(日) 15:19 -

引用なし
パスワード
   ExcelVBA初心者です。

結合したセルの行幅を自動で大きくしたり、小さくするという処理をしたいのですが、うまくいきません。

【詳細内容】
ある結合したセルの1行のMAX文字数を5として、
実際に入力すると
文字数が6以上になるか、
Alt + Enter(改行コード)が発生すると、
自動で行幅を増やして、
その後の文字を入力する。
文字を消せば行がデフォルトの幅に戻る。

【例】
「ABCDEFG改HIJ改KLMNOP」があったとします。
(改→改行コード)
これを↓このように自動で改行して表示させたいです。

ABCDE
FG
HIJ
KLMNO


どなたか詳しい方教えていただけないでしょうか。
よろしくお願い致します。

【69238】Re:結合セルの自動行幅調整
発言  VBA上級者  - 11/6/12(日) 20:40 -

引用なし
パスワード
   行に対しては高さ、列に対しては幅、よって行幅ってのは
ありません。

再度質問しなおしてくださいな。

【69239】Re:結合セルの自動行幅調整
発言  UO3  - 11/6/12(日) 22:32 -

引用なし
パスワード
   ▼VBA初心者 さん:

まぁ、セルの列幅のミスだとして。
セルの文字数が5となっているとの前提です。
(ただし、ColumnWidthは確か標準文字、半角の0がいくつ入るかという値で
 文字によりフォントの幅が違いますので、必ずしもいつも5文字ではないのですが)
今、ABCDEFG改HIJ改KLMNOP が入っている結合セルを選択して
以下を実行するとどうなりますか?

(エクセルのないモバイル環境からレスしていますのですべっていたらごめん)


Sub Test()
  Dim h As Double
  With Selection
    .WrapText = True
    .MergeCells = False
    h = .Cells(1).Height
    .MergeCells = True
    .Cells(1).RowHeight = h
  End With
End Sub

【69240】Re:結合セルの自動行幅調整
発言  UO3  - 11/6/12(日) 22:40 -

引用なし
パスワード
   ▼VBA初心者 さん:

↑のレスは

>実際に入力すると・・・自動で・・増やして、

これを読み飛ばしていました。
いったん、行の高さは、そのままでマクロ実行で高さ変更をかけています。
自動で・・ということなら(アップしたコードがうまくいけば)シートの
Changeイベントに仕掛ければなんとかなると思います。

また、

>文字を消せば行がデフォルトの幅に戻る。

ここも読んでいませんでした。
この機能は、上のコードでは対応していません。

【69241】Re:結合セルの自動行幅調整
発言  UO3  - 11/6/12(日) 22:52 -

引用なし
パスワード
   ▼VBA初心者 さん:

エクセルがあるPCが見つかったので、さきほど漏れた機能もいれてみました。
(でも、要件を誤解しているかもしれませんが)

シートモジュールに

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim h As Double
  With Target
    .EntireRow.AutoFit
    .WrapText = True
    .MergeCells = False
    h = .Cells(1).Height
    .MergeCells = True
    .Cells(1).RowHeight = h
  End With

End Sub

【69242】Re:結合セルの自動行幅調整
発言  hige_082  - 11/6/12(日) 23:02 -

引用なし
パスワード
   Yahoo!知恵袋にも質問され、回答が付いています。
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1164329826

【69243】Re:結合セルの自動行幅調整
発言  UO3  - 11/6/13(月) 11:30 -

引用なし
パスワード
   ▼hige_082 さん:

あぁ、マルチでしたか。

【69246】Re:結合セルの自動行幅調整
お礼  VBA初心者  - 11/6/13(月) 23:06 -

引用なし
パスワード
   ▼VBA初心者 さん:
>ExcelVBA初心者です。
>
>結合したセルの行幅を自動で大きくしたり、小さくするという処理をしたいのですが、うまくいきません。
>
>【詳細内容】
>ある結合したセルの1行のMAX文字数を5として、
>実際に入力すると
>文字数が6以上になるか、
>Alt + Enter(改行コード)が発生すると、
>自動で行幅を増やして、
>その後の文字を入力する。
>文字を消せば行がデフォルトの幅に戻る。
>
>【例】
>「ABCDEFG改HIJ改KLMNOP」があったとします。
>(改→改行コード)
>これを↓このように自動で改行して表示させたいです。
>
>ABCDE
>FG
>HIJ
>KLMNO
>P
>
>どなたか詳しい方教えていただけないでしょうか。
>よろしくお願い致します。

お二方ともありがとうございました。
参考になりました。

あと、複数別の場所で質問はそんなにいけないことなのでしょうか。
気分を害したのであれば誤りますが、
より多くの方のご意見を聞きたかったので、
そうしたのであって、別に問題のあることだとは思っていません。

重複しますが、本当にありがとうございました。
失礼します。

【69247】Re:結合セルの自動行幅調整
発言  hige_082  - 11/6/13(月) 23:19 -

引用なし
パスワード
   >あと、複数別の場所で質問はそんなにいけないことなのでしょうか。

一度、読んでみてください。
ht tp://www.ippo.ne.jp/g/53.html

>より多くの方のご意見を聞きたかったので、
>そうしたのであって、別に問題のあることだとは思っていません。

気持ちはわかりますが、「他でも聞いているが、教えて」という感じで質問されるとよいかと思います。
なお、その場合は、どのように解決したのかを共有されたほうがよいかと思います。
今回は、マルチポストのURLを参照すればわすりますけどね。

2233 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free