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

VBA初心者です。

B7(Cells(7,2))から始まる表があります。
項目が多くて横に長い表なので、普段そんなに必要ない項目は非表示にさせたいのですが、
非表示にする項目もケースバイケースで選べる方がいいのです。

そこで、別用でオートフィルタ機能も使いたいので、
1行あけた5行目の各項目の上に、『非表示』か『表示』を選べるようリスト入力し、
『非表示』になっている場合は、その項目の列を非表示にしたいのです。

それで、私なりに作ったものが下記になりますが、
『アプリケーション定義またはオブジェクト定義のエラーです』
というメッセージがでます。

原因がよく分からないので、教えて頂けないでしょうか。

--
Sub test()
Dim LastCol As Long
Dim i As Long

LastCol = Cells(5, Columns.Count).End(xlToLeft).Column
For i = 1 To LastCol
If Cells("5:i") = "非表示" Then
Columns(i).Hidden = True
End If
Next i
End Sub
--

今使ってるパソコンはVistaでExcel2007ですが、
会社ではXPでExcel2003のパソコンもありますし、将来は7でExcel2010も考えられるので、
それも考慮したコードを求めてます。

宜しくお願いします。

A 回答 (1件)

セルの書き方に問題があります。

次のようにすればよいでしょう。

If Cells(5, i) = "非表示" Then
    • good
    • 0
この回答へのお礼

おはようございます。

出来ました!!

ありがとうございました。

お礼日時:2012/07/14 08:59

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

このQ&Aを見た人はこんなQ&Aも見ています