返回列表 上一主題 發帖

[發問] 不同的sheet相同的動作,如何讓它一次性完成?

回復 2# oobird
  1. SH.[a4:ad4].AutoFilter '取消自動篩選
  2. SH.[a4:ad4].AutoFilter '建立自動篩
複製代碼
這是後輩我的見解 ,如有錯誤請見諒.
程式開始執行初時         [a4:ad4] 是在自動篩選的狀態下,第一次的AutoFilter  才會是  取消自動篩選
但如   [a4:ad4] 不是在自動篩選的狀態下,第二次的AutoFilter 會是   取消自動篩選
  1. SH.AutoFilterMode = False '取消自動篩選  
  2.         SH.[a4:ad4].AutoFilter '建立自動篩
  3.         
複製代碼
程式執行時   不管[a4:ad4] 是否在自動篩選的狀態下, AutoFilterMode = False  都會取消自動篩選
1

評分人數

    • oobird: 細心+熱心!可敬的精神金錢 + 2

TOP

本帖最後由 GBKEE 於 2012-5-6 17:36 編輯

回復 15# PJChen
If InStr("MayJunJulAugSepOctNovDec", sh.May) Then  sh 沒這 屬性
  1. Workbooks("2012 samples Chart.xlsx").Activate
  2.     For xi = Month(Date) To Sheets.Count                              'Month(Date) 當月份
  3.         Sheets(Format(DateSerial(2001, xi, 1), "Mmm")).Activate    '當月份工作表
  4.     Next
複製代碼

TOP

回復 18# PJChen
  1. For xi = Month(Date) To 12        'Month(Date) 當月份  到 12月份
複製代碼

TOP

本帖最後由 GBKEE 於 2012-5-6 17:35 編輯

回復 21# PJChen
  1. Sub Try()
  2.     Dim sh As Worksheet, xi As Integer
  3.     Workbooks("2012 samples Chart.xlsx").Activate
  4.     '''  For Each sh In Sheets    '在所有工作表中循環
  5.     For xi = Month(Date) To 12        'Month(Date) 當月份  到 12月份
  6.      Set sh = Sheets(Format(DateSerial(2001, xi, 1), "Mmm"))
  7.         sh.Activate    '當月份工作
  8.         sh.UsedRange = sh.UsedRange.Value    '把公式結果變成值
  9.         sh.AutoFilterMode = False     '取消自動篩選
  10.         sh.[a4:ad4].AutoFilter    '建立自動篩
複製代碼

TOP

回復 23# PJChen
對不起:有點糊塗 請修改 一下
Set sh = Sheets(Format(DateSerial(2001, Month(xi), 1), "Mmm")) 錯誤
Set sh = Sheets(Format(DateSerial(2001, xi, 1), "Mmm"))  正確

TOP

        靜思自在 : 得理要饒人,理直要氣和。
返回列表 上一主題