Board logo

標題: [發問] 請問隱藏儲存格的寫法 [打印本頁]

作者: 3083kbna    時間: 2010-6-1 09:18     標題: 請問隱藏儲存格的寫法

請問我欲將E3:F1000列儲存格中,空白或數字為 0 的儲存格整列隱藏起來,請問VBA要怎麼寫?
作者: Hsieh    時間: 2010-6-1 11:17

回復 1# 3083kbna
  1. Sub nn()
  2. Dim Rng As Range
  3. [E3:F1000].EntireRow.Hidden = False
  4. For Each a In [E3:F1000]
  5.   If a = 0 Or a = "" Then
  6.      If Rng Is Nothing Then
  7.         Set Rng = a
  8.         Else
  9.         Set Rng = Union(Rng, a)
  10.      End If
  11.     End If
  12. Next
  13. If Not Rng Is Nothing Then Rng.EntireRow.Hidden = True
  14. End Sub
複製代碼

作者: 3083kbna    時間: 2010-6-1 14:16

回復 2# Hsieh


    請問Hsieh版主,若E3:F1000列,只要(E欄或F欄)其中一欄有數字的話就不用隱藏,那要怎麼改?謝謝!
作者: Hsieh    時間: 2010-6-1 14:49

回復 3# 3083kbna
  1. Sub nn()
  2. Dim Rng As Range
  3. [E3:F1000].EntireRow.Hidden = False
  4. For Each a In [E3:E1000]
  5.   If Application.Sum(a.Resize(, 2)) = 0 Then
  6.      If Rng Is Nothing Then
  7.         Set Rng = a
  8.         Else
  9.         Set Rng = Union(Rng, a)
  10.      End If
  11.     End If
  12. Next
  13. If Not Rng Is Nothing Then Rng.EntireRow.Hidden = True
  14. End Sub
複製代碼

作者: 3083kbna    時間: 2010-6-1 15:18

謝謝!Hsieh 版主,已經可以了,由於您的幫助使我的工作速度能獲得改善,再次謝謝!
作者: GBKEE    時間: 2010-6-1 15:45

本帖最後由 GBKEE 於 2010-6-1 15:49 編輯
請問Hsieh版主,若E3:F1000列,只要(E欄或F欄)其中一欄有數字的話就不用隱藏,那要 ...
3083kbna 發表於 2010-6-1 14:16
不論數字 正負或為0 嗎?
Sub Ex()
    Dim Rng As Range
    Set Rng = [E3:F1000]
    Rng.EntireRow.Hidden = True
    Rng.SpecialCells(xlCellTypeConstants, xlNumbers).EntireRow.Hidden = False
End Sub
作者: HUNGCHILIN    時間: 2010-6-1 21:31

這個應該也可以用進階篩選 的方式來解答

若用上定義與VBA結合就更好了
作者: 3083kbna    時間: 2010-6-3 09:16

真不好意思!沒表達清楚!應該是E3:F1000兩欄中的儲存格同時 是 0 或空白(不包括負數或文字),才需要隱藏,Hsieh 版主的這個VBA:會把E欄儲存格是零和空白的那一列隱藏,請問要如何改呢?謝謝!
Sub nn()
Dim Rng As Range
[E3:F1000].EntireRow.Hidden = False
For Each a In [E3:E1000]
  If Application.Sum(a.Resize(, 2)) = 0 Then
     If Rng Is Nothing Then
        Set Rng = a
        Else
        Set Rng = Union(Rng, a)
     End If
    End If
Next
If Not Rng Is Nothing Then Rng.EntireRow.Hidden = True
End Sub
會把E欄儲存格是零和空白的那一列隱藏
作者: Hsieh    時間: 2010-6-3 14:30

For Each a In [E3:E1000]
  If (a= 0 or a="") and (a.offset(,1)=0 or a.offset(,1)="" )Then
作者: 3083kbna    時間: 2010-6-7 09:43

回復 9# Hsieh

謝謝Hsieh版主,改過以後已完全符合需求,再次謝謝!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)