• ベストアンサー

マクロがうまく実行されません…

指定の範囲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 宜しくお願い致します

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

  • ベストアンサー
  • z1rcom
  • ベストアンサー率57% (11/19)
回答No.1

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

sakura_nis
質問者

お礼

お礼が遅くなってしまい申し訳ありません。アドバイスいただいた式で無事解決しました! ありがとうございました。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 個々の高さがそれぞれ違うなら、#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 は、意味がないと思います。

sakura_nis
質問者

お礼

お礼が遅くなってしまい申し訳ありません。 DoEventsは意味がないのですね…マクロ自体をもっと勉強しようと思います。 ありがとうございました。

関連するQ&A

専門家に質問してみよう