作者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