[VBA ] 日期判斷式

看板Visual_Basic作者 (知足常樂)時間11年前 (2013/04/23 08:38), 編輯推噓0(0013)
留言13則, 4人參與, 最新討論串1/1
各位大大好 vba新手第一次發文 若有違規請提醒 謝謝 ============節錄============= Sheet4.Cells(1, 20) = ComboBox1.Value '輸入月' Sheet4.Cells(1, 21) = TextBox1.Value '輸入年' For j = 2 To i Sheet4.Cells(1, 22) = Month(Sheet3.Cells(j, 7)) '歷史資料月' Sheet4.Cells(1, 23) = Year(Sheet3.Cells(j, 7)) '歷史資料年' If Sheet4.Cells(1, 20) = Sheet4.Cells(1, 22) And Sheet4.Cells(1, 21) = Sheet4.Cells(1, 23) Then ============================== 我建立了一個表單 ComboBox1是使用者輸入"月份" TextBox1 是使用者輸入"年份" 主要是想擷取報表中某月中所有資料 原本想用 ComboBox1.Value = Month(Sheet3.Cells(j, 7)) TextBox1.Value = Year(Sheet3.Cells(j, 7)) 來作為判斷式 但是判斷出來結果都是不相等 最後只好將資料全先放入儲存格再進行判斷 結果就能正常判斷了 想請問正確的比較方式(不用透過存入儲存格) 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.165.152.53

04/23 09:09, , 1F
正確的方式就是取用正確公式 欲取得儲存格的值就要加上
04/23 09:09, 1F

04/23 09:09, , 2F
Sheet1.Cells(1, 20).value 沒加上.value他怎知道你要
04/23 09:09, 2F

04/23 09:10, , 3F
什麼,回傳的並不是字元型態
04/23 09:10, 3F

04/23 09:32, , 4F
想請問ComboBox1.Value = Month(Sheet3.Cells(j, 7)
04/23 09:32, 4F

04/23 09:32, , 5F
為什麼不能成立 而要使用我現在迂迴的方式判斷 謝謝
04/23 09:32, 5F
※ 編輯: qqaaz 來自: 118.165.152.53 (04/23 09:33)

04/23 12:40, , 6F
month()傳回值是integer, combobox.value傳回值是string
04/23 12:40, 6F

04/23 12:41, , 7F
cint(xxx.value)= cint(month(xxx)) 應該就會一樣了吧
04/23 12:41, 7F

04/23 12:43, , 8F
to DeathWatch, 嚴格寫法要加.value,但不加.value也可以
04/23 12:43, 8F

04/23 12:43, , 9F
cells物件預設回傳.value,有些物件預設回傳.caption
04/23 12:43, 9F

04/23 14:22, , 10F
感謝兩位大大教學!!!
04/23 14:22, 10F

04/23 15:30, , 11F
自己加watch和中斷點看一看事情跟你想的一不一樣
04/23 15:30, 11F

04/23 15:52, , 12F
D大教我中斷點了 請問WATCH是??
04/23 15:52, 12F

04/23 19:43, , 13F
我有跑過才會說需要.value 沒加 值抓出來是空白的 謝~
04/23 19:43, 13F
文章代碼(AID): #1HTTW9Ri (Visual_Basic)
文章代碼(AID): #1HTTW9Ri (Visual_Basic)