iT邦幫忙

0

VBA 如何判斷儲存格是日曆型態

抱歉我又來問問題
就是我的F欄位是日曆型態跟標題
因為我要抓本月的資料

Private Sub 本月資料()
  thismonth = Month(Now)  '宣告變數=現在的月份
  lastrow = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Rows(1).Row - 1  '最後一行
  Worksheets("本月預定工作計畫表").Activate  '指定工作表
  For i = 1 To lastrow  '迴圈
   If Cells(i, "F") <> DateValue(Cells(i, "F")) Then   '這是我自己寫的判斷式不是日曆的話就下一行
    i = i + 1
   Else
   Cells(i, "Z") = Month(Cells(i, "F"))  'Z的儲存格=F儲存格的月
   End If
   Next
  For j = lastrow To 2 Step -1  '另一個迴圈
    If Cells(i, "B") <> "" Or Cells(j, "Z") <> thismonth Then   '儲存格B不等於空的或儲存格Z的值不是現在的月份就刪除
       Rows(j).Delete
    End If
   Next
End Sub

我現在卡在它沒辦法判斷不是日曆的型態就是告訴我型態不符合

1 個回答

0
froce
iT邦大師 4 級 ‧ 2019-05-23 19:29:23
最佳解答

http://spreadsheetpage.com/index.php/tip/determining_the_data_type_of_a_cell/
用 IsDate()

VBA因為有個一般的型態,所以只好靠你的值去判斷。

多謝告知 又會了一招 再次感謝

我要發表回答

立即登入回答