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