dポイントプレゼントキャンペーン実施中!

いつもお世話になっています。
ブック内の同じフォーマットの複数のシートの行を非表示にしたいのですが、
繰り返し処理の記述方法がわかりません。
除外したいシートも数枚あり、"S"から始まるシートだけ操作したいです。
御回答よろしくお願いいたします。

A 回答 (2件)

Dim sht As Worksheet


For Each sht In ThisWorkbook.Worksheets
  If UCase(Left(sht.Name, 1)) = "S" Then
    sht.Rows(5).Hidden = True
  End If
Next
とか
    • good
    • 1
この回答へのお礼

早々に回答をいただきありがとうございます。
すっきりと、素晴らしい構文をありがとうございます。
また機会がありましたら、よろしくお願いいたします。

お礼日時:2014/04/15 13:34

Sub Macro1()


  '現在開いているブックのワークシートを1~最後までsnでループ
  For sn = 1 To ActiveWorkbook.Worksheets.Count
    'sn番目のシートの名前の1文字目が"S"かどうか判断
    If Left(ActiveWorkbook.Worksheets.Item(sn).Name, 1) = "S" Then
      '5~8行目を非表示にする
      ActiveWorkbook.Worksheets.Item(sn).Rows("5:8").EntireRow.Hidden = True
    End If
  Next
End Sub

現在開いているブックのシート名が「S」で始まるシートの5~8行目を非表示にするマクロ。
    • good
    • 1
この回答へのお礼

早々に回答をいただきありがとうございます。
丁寧な解説も入れていただきありがとうございます。
今回は、先に回答してくださったかたをベストアンサーとさせていただきますが
また機会がありましたら、よろしくお願いいたします。

お礼日時:2014/04/15 13:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!