[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルの高さの自動調整』(はじめて)
よろしくお願いします。
A1セル B1セル C1セルを結合させ、データから会社名を表示するようなVBAを書いております。
会社名が長い場合には、列幅を長くせず、折り返して表示し、行の幅を大きくし、
表示させたいのですが、
AutoFitなどを使っても、全部表示されずに、1行分だけ(すいません、うまくいえません)表示され、うまくいきません。よいアイディアがあれば、ぜひおしえてください。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
別の板ですが、結合セルにおける行の高さの自動調整に関するスレです。
http://excelfactory.net/excelboard/excelvba/cfs.cgi?word=113195&logs=15.txt
(β) 2015/05/20(水) 17:48
結合セルに格納されている値は、1つのセルだと入りきらないサイズでしょうか?
入りきるならば、作業列に結合セルの内容をコピー。作業列は結合セルと同じ幅にしておき、非表示でいかがでしょうか。
Sub test() Const WK = 4 Dim i As Long
Columns(WK).WrapText = True Columns(WK).ColumnWidth = Range("A1:C1").Width / Range("A1").Width * Range("A1").ColumnWidth
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row Range(Cells(i, 1), Cells(i, 3)).WrapText = True Cells(i, WK).Value = Cells(i, "A").Value Next i
Columns(WK).Hidden = True End Sub
ただし、手動で行高さを変えてしまった行は、変わらないようです。
(???) 2015/05/20(水) 18:10
Sub height()
Dim width As Variant Dim a_width As Variant Dim height As Variant 'AからCまでの幅を取得 width = Range("A1").ColumnWidth + Range("B1").ColumnWidth + Range("C1").ColumnWidth
Range("A1:C1").MergeCells = False
Range("A1").WrapText = True
a_width = Range("A1").ColumnWidth
Range("A1").ColumnWidth = width
Range("A1").Rows.AutoFit
height = Range("A1").RowHeight Range("A1").WrapText = False
Range("A1").ColumnWidth = a_width
Range("A1:C1").MergeCells = True Range("A1").WrapText = True
Range("A1").RowHeight = height
End Sub
(デイト) 2015/05/20(水) 18:41
返信がおそくなりました。
今、現場で試したのですが、うまくいきました。
助かりました。ありがとうございました。
(はじめて) 2015/05/21(木) 08:24
解決後、でかつ、直接の回答ではないですが参考まで。
[[20140415093355]] 『数式バーの高さ』(スカボロー)
※しかも、↑は数式バーでしたね。9:37追記 (カリーニン) 2015/05/21(木) 09:35
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.