• ベストアンサー

複数のセルでの方法

現在下記のようなマクロを組んであるのですが、これだと5列目が「0」のときの実行マクロです。 '5列目(工数)が「0」のとき該当する行の高さを「0」にする。 For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1 If Cells(i, 5).Value = "0" Then Rows(i).RowHeight = 0 End If Next 私はこれではなくて、5列目と7列目の同じ行にあるセルに「0」がはいっていたら行の高さを「0」にしたいのです。 そこで私は If Cells(i, 5).Value = "0" Then これを If Cells(i, 5).Value = "0" And Cells(i, 7).Value = "0" Then にしたところエラーが発生しました。 良い方法があればお教えください。 よろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

Sub test02() MsgBox ActiveSheet.UsedRange.Rows.Count For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1 If Cells(i, 5).Value = "0" And Cells(i, 7).Value = "0" Then MsgBox i Rows(i).RowHeight = 0 End If Next End Sub で通りました。Value = "0"はValue = 0で良いのでは。 それと上2行スペース行があって、その下に7行ある場合も7と出て、行で言うと9行から上へ(Step-1)行くべきであるので、良くこの点をチェックしましょう。 私はUsedRangeやCurrentRegionはその点をいつも気にしています。範囲行数なのか絶対行数なのか。Cellsの第1引数 は絶対行数(コンな語句使いませんが判ってもらえますか)。

その他の回答 (1)

  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.1

 テストしましたが、特別エラーは出ませんでしたよ。 スペースや、ドット、カンマ等にミスは有りませんか?。

関連するQ&A