作者qqaaz (知足常樂)
看板Visual_Basic
標題[VBA ] 日期
時間Tue Apr 23 08:38:30 2013
各位大大好 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
1F:→ DeathWatch:正確的方式就是取用正確公式 欲取得儲存格的值就要加上 04/23 09:09
2F:→ DeathWatch:Sheet1.Cells(1, 20).value 沒加上.value他怎知道你要 04/23 09:09
3F:→ DeathWatch:什麼,回傳的並不是字元型態 04/23 09:10
4F:→ qqaaz:想請問ComboBox1.Value = Month(Sheet3.Cells(j, 7) 04/23 09:32
5F:→ qqaaz:為什麼不能成立 而要使用我現在迂迴的方式判斷 謝謝 04/23 09:32
※ 編輯: qqaaz 來自: 118.165.152.53 (04/23 09:33)
6F:→ knstt:month()傳回值是integer, combobox.value傳回值是string 04/23 12:40
7F:→ knstt:cint(xxx.value)= cint(month(xxx)) 應該就會一樣了吧 04/23 12:41
8F:→ knstt:to DeathWatch, 嚴格寫法要加.value,但不加.value也可以 04/23 12:43
9F:→ knstt:cells物件預設回傳.value,有些物件預設回傳.caption 04/23 12:43
10F:→ qqaaz:感謝兩位大大教學!!! 04/23 14:22
11F:→ MOONRAKER:自己加watch和中斷點看一看事情跟你想的一不一樣 04/23 15:30
12F:→ qqaaz:D大教我中斷點了 請問WATCH是?? 04/23 15:52
13F:→ DeathWatch:我有跑過才會說需要.value 沒加 值抓出來是空白的 謝~ 04/23 19:43