Excel VBA質問箱 IV

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

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


43676 / 76736 ←次へ | 前へ→

【38104】Re:結合した折り返し設定のセルの高さを自動設定したい
お礼  mog  - 06/5/26(金) 14:29 -

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

ochinoseさん、ありがとうございました!!
すごいですね 少し改造して無事解決しました!!

「計算でダメならコピーして計ってしまえ」って考えですね 笑
正確にはフォントサイズなどのコピーを必要でしたが、
ほぼこのソースでいけました!!新しい発想で楽しかったです。

ありがとうございました!

>▼mog さん:
>おはようございます。
>
>
>アクティブなシートに対しての例です。
>
>このシートの右隣に作業する真っ白なシートを用意してください。
>
>標準モジュールに
>
>'===================================================
>Sub test()
>  Call set_scale(Range("a1")) 'パラメーターに指定したセルが結合セルの
>'                 先頭せるで実際に高さ調節を行いたいセルです。
>End Sub
>'====================================================
>Sub set_scale(rng As Range, Optional sht As Worksheet = Nothing)
>  Dim tmprng As Range
>  On Error Resume Next
>  Set tmprng = rng.MergeArea
>  If Err.Number <> 0 Then
>    Set tmprng = rng
>    End If
>  With tmprng
>    If sht Is Nothing Then
>     Set sht = .Parent.Next
>     End If
>    wk = .ColumnWidth * (.Columns.Count)
>    sht.Range("a1").ColumnWidth = wk
>    sht.Range("a1").ColumnWidth = wk + (.Width - sht.Range("a1").Width) * (sht.Range("a1").ColumnWidth) / sht.Range("a1").Width
>    sht.Range("a1").HorizontalAlignment = .HorizontalAlignment
>    sht.Range("a1").VerticalAlignment = .VerticalAlignment
>    sht.Range("a1").WrapText = True
>    sht.Range("a1").Value = .Value
>    .RowHeight = sht.Range("a1").RowHeight / .Rows.Count
>    sht.Range("a1").Clear
>    End With
>End Sub
>
>簡単な説明で申し訳ないですが、試してみてください。
>即興作成なので穴はあるかもしれませんが、
>考え方は、作業シートに
>結合セルではなく、単一セルで高さ調整を行いたい対象結合セルと
>同じ列幅に設定し、結合セルの内容をここに流し込みます。
>単一セルですから、列の高さは自動設定されますから、
>その高さを元の結合セルに設定するという方法です。
>
>試してみてください。

0 hits

【38051】結合した折り返し設定のセルの高さを自動設定したい mog 06/5/25(木) 14:49 質問
【38086】Re:結合した折り返し設定のセルの高さを自... ichinose 06/5/26(金) 9:36 発言
【38104】Re:結合した折り返し設定のセルの高さを自... mog 06/5/26(金) 14:29 お礼

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