| 
    
     |  | ひげくま さん: こんばんは。
 
 >1行目は普通の高さで、2〜3行目の高さを0にした状態で、
 >1〜3行目を隠したり表示させたりしたいのですが、
 >RowHeight を 0 にして、Hidden を True にしたあとに、
 >Hidden を False にすると、RowHeight が 0 のままではなく、
 >0 にする前の高さに戻ってしまいます。
 >
 >Rows("2:3").RowHeight = 0
 MsgBox Rows("2:3").Hidden
 >Rows("1:3").Hidden = True
 >Rows("1:3").Hidden = False
 
 これで確認すると、既にTrueが表示されていますからねえ。
 
 よって、どこかに覚えておかないとなりませんね!!
 あとは、どこに置くかですが・・・。
 
 Sub test()
 Call set_rowheight_0(Rows("2:3"))
 Call set_hidden(Rows("1:3"), True)
 Call set_hidden(Rows("1:3"), False)
 End Sub
 '===============================================
 Sub set_rowheight_0(ByVal rng As Range)
 Dim crng As Range
 For Each crng In rng.Rows
 crng.ID = "0"
 Next
 rng.RowHeight = 0
 
 End Sub
 '===============================================
 Sub set_hidden(ByVal rng As Range, ByVal myvalue As Boolean)
 Dim crng As Range
 rng.Rows.Hidden = myvalue
 If myvalue = False Then
 For Each crng In rng.Rows
 If crng.ID = "0" Then
 crng.RowHeight = Val(crng.ID)
 End If
 Next
 End If
 End Sub
 '===============================================
 Sub set_id_clear(ByVal rng As Range)
 Dim crng As Range
 For Each crng In rng.Rows
 crng.ID = ""
 Next
 End Sub
 
 
 Excel2000以上なら、IDプロパティを借りて上記の方法では?
 
 |  |