Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


33929 / 76734 ←次へ | 前へ→

【48020】Re:行の高さが0のまま表示/非表示
発言  ichinose  - 07/3/30(金) 20:02 -

引用なし
パスワード
   ひげくま さん:
こんばんは。

>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プロパティを借りて上記の方法では?

5 hits

【48017】行の高さが0のまま表示/非表示 ひげくま 07/3/30(金) 16:31 質問
【48019】Re:行の高さが0のまま表示/非表示 ton 07/3/30(金) 19:42 回答
【48020】Re:行の高さが0のまま表示/非表示 ichinose 07/3/30(金) 20:02 発言
【48023】Re:行の高さが0のまま表示/非表示 ひげくま 07/3/30(金) 21:32 質問
【48024】Re:行の高さが0のまま表示/非表示 ichinose 07/3/30(金) 22:46 発言
【48025】Re:行の高さが0のまま表示/非表示 ひげくま 07/3/30(金) 23:50 お礼

33929 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free