Board logo

標題: [發問] 使用Rows(Range() & Range())沒有出現錯誤,但無法正常運作 [打印本頁]

作者: jiuhtsair    時間: 2019-2-25 17:05     標題: 使用Rows(Range() & Range())沒有出現錯誤,但無法正常運作

如題,寫出來的程式沒有出現bug的警訊,但是卻無法正常反應

稍微說明一下這個表格的意義與想要做到的功能

基本上這是一個班表,一個column是一個人的名,而row會隨著當日業務的多寡而增減(插入/刪除row)。每晚要發布隔天的班表,但因為整個表格太大不好在手機上閱讀,所以會把除了明天以外的row都隱藏起來方便閱讀。

想要做到的功能是:一鍵隱藏上述row/一鍵取消全表格隱藏(發布完畢後恢復原狀),初學vba一周多,目前只想到以if else做暴力破解,要是各位有更快更簡潔的寫法的話歡迎告訴我!

以目前我的寫法,要驗證有沒有運作正確有三個邊界例子可以做test:
1.當今天是當月份最後一天: 例:今天2/28, 當sheet停留在2月時,彈出訊息”請至隔月份班表”,當sheet在3月時,只保留3/1的row
2.當今天是當月份第一天 例:今天2/1,只保留2/2
3.當今天是當月份中間的日子(除了上述) 例:今天2/25,只保留2/26

以下是我針對3.寫的一段碼,沒有出現bug error,但卻無法正常的隱藏2/1~2/25和2/27~2/28
表格還會自動彈到非常下面的地方(A207203之類的)

    Else 'the other days
   
    Rows(Range("Z221") & Range("Z214")).Select 'select first day to today
    Rows(Range("Z226") & Range("Z218")).Select 'select last day to 2tmr
    Selection.EntireRow.Hidden = True
   
    Columns("C:U").Select
    Selection.EntireColumn.Hidden = True
   
以上的程序搞錯哪個地方了嗎?

以下網址可以下載excel原檔
https://drive.google.com/open?id=1Q_AGzadFVKYYkWKc3_oOOnXptM0tg0H3
(有些透過excel計算出來的row值放在V212附近,可以參考一下)

麻煩各位提點一下,十分感謝。
作者: 准提部林    時間: 2019-2-26 11:36

Rows(Range("Z221") & ":" & Range("Z214")).Select
作者: jiuhtsair    時間: 2019-2-26 21:09

回復 2# 准提部林

太感謝了!! 原來問題是出在這個地方
所有的功能都照常運作了
謝謝提點




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