- ベストアンサー
マクロがうまく実行されません…
指定の範囲Rows("6:90")を、行の高さの自動調整後、30pt分高くするマクロを作成しました…が、うまく実行されません。 どなたか、正しいコードを教えていただけないでしょうか? Sub 行高さを2行半増しにする() Worksheets("シート1").Activate Rows("6:90").Select Selection.EntireRow.AutoFit '高さの自動調整 Selection.RowHeight = Selection.RowHeight + 30 '2行半増し DoEvents End Sub 宜しくお願い致します
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
RowHeightは複数行だとNull値になるみたいなので、個別に取得するようにしてみました。 Sub 行高さを2行半増しにする() Worksheets("Sheet1").Activate rows("6:90").EntireRow.AutoFit For i = 6 To 90 rows(i).RowHeight = rows(i).RowHeight + 30 Next DoEvents End Sub
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 個々の高さがそれぞれ違うなら、#1さんのようなループによるコードになりますが、一律に変えるなら、このようになるのではないでしょうか。 標準に対して、高さが、2行半増しなら、3.5 倍になるので、最初のようなコードになりす。もし、標準でないのでしたら、最初の6行目を基準にして、30pt を加えるというなら、2番目のようなコードになります。 Sub RowsHeightAddTwoHalf() Worksheets("Sheet1").Activate With Rows("6:90") .RowHeight = ActiveSheet.StandardHeight * 3.5 End With End Sub Sub RowsHeightAddTwoHalf2() Dim i As Double Worksheets("Sheet1").Activate With Rows("6:90") .EntireRow.AutoFit i = .Rows(1).RowHeight .RowHeight = i + 30 End With End Sub ただ、DoEvents は、意味がないと思います。
お礼
お礼が遅くなってしまい申し訳ありません。 DoEventsは意味がないのですね…マクロ自体をもっと勉強しようと思います。 ありがとうございました。
お礼
お礼が遅くなってしまい申し訳ありません。アドバイスいただいた式で無事解決しました! ありがとうございました。