Yahoo 知識+ 將於 2021 年 5 月 4 日 (美國東岸時間) 停止服務,而 Yahoo 知識+ 網站現已轉為僅限瀏覽模式。其他 Yahoo 資產或服務,或你的 Yahoo 帳戶將不會有任何變更。你可以在此服務中心網頁進一步了解 Yahoo 知識+ 停止服務的事宜,以及了解如何下載你的資料。
EXCEL VBA 日期的顯示與隱藏
請各位vba高手幫忙:
想做整年度的資料排程.但一整年資料攤開來拖拉又沒效率.想透過USERFORM2表單在J6:ABK6範圍作輔助資料.或是其他方式設計一個可以隱藏與顯示的選項.方便點選.以達到靈活性.
謝謝~
檔案位置如下
3 個解答
- 准提部林Lv 76 年前最愛解答
<參考檔>:
2014-12-01 18:13:23 補充:
EXCEL VBA.指定資料〔月份〕範圍,執行〔欄〕的顯示或隱藏
<.准提部林.>
---------------------------------
■月份.公式:
BT2:
=IF(BT7="","-",FIND(TEXT(BT7,"mm."),"..01.02.03.04.05.06.07.08.09.10.11.12.")/3)
■程式碼:
Sub 顯示隱藏()
Dim ChkBox As CheckBox, ObjNm$
ObjNm = Application.Caller
Set ChkBox = ActiveSheet.CheckBoxes(ObjNm)
Application.ScreenUpdating = False
On Error Resume Next
With Rows(2)
.Replace Right(ObjNm, 2), "||", Lookat:=xlPart
.SpecialCells(xlCellTypeFormulas, 16).EntireColumn.Hidden = 1 - ChkBox.Value
.Replace "||", Right(ObjNm, 2)
End With
End Sub
■說明:
ObjNm = Application.Caller
依執行巨集的〔物件名稱〕,取其〔右2字元〕為〔月份〕,
例如:以〔核取方塊_02〕執行巨集,將取得〔02〕兩字,
再將〔公式〕中的 "02" 取代成 "||"
Rows(2).Replace Right(ObjNm, 2), "||", Lookat:=xlPart
公式將暫時改變為:
=IF(BT7="","-",FIND(TEXT(BT7,"mm."),"..01.||.03.04.05.06.07.08.09.10.11.12.")/3)
此時〔02〕月份將因公式 FIND 不到 "02" 而產生〔錯誤值〕,
繼而使用〔編輯→到→特殊→公式→錯誤值〕取得02月的欄範圍,
Rows(2).SpecialCells(xlCellTypeFormulas, 16)
最後執行欄範圍的顯示或隱藏,再將 "||" 取代回月份。
---------------------------------
<範例檔>下載:
檔案名稱:20141125a01(選定月份顯示隱藏).rar
下載位址:http://www.funp.net/653900
---------------------------------
- 7 年前
知道有這方法.但沒想到.我居然問了一個龜毛的問題.......真糟糕~
2014-11-25 23:52:18 補充:
謝謝准大再次幫忙.設計出來的東西.操作起來簡單俐落.也深具巧思.相當好用.但我程度不夠.語法還是沒辦法完全了解.需要加把勁才行....
再次謝謝你.感恩~
2014-12-01 16:47:44 補充:
准大請上回答區.要選你為最佳解答.謝謝~