作者ck3300511 (迪恩)
看板Office
标题[算表] 找出发生最早日期和算出天数
时间Mon Sep 24 12:24:04 2018
软体:Excel
https://imgur.com/a/zG5RTRE
如上图
E~J栏会填上日期 (有些栏位没发生的话会空白)
我想在K栏找出E~J栏发生最早的日期
如果以上图来讲,希望K2会显示2018/01/05
然後L2会算出K2日期至今的天数,如果L2的数字大於等於60,就会变红字
然後使用者打开Excel的时候会跳出警示视窗,
内容是【A2的最早日期至今已经大於等於60】,该怎麽做呢?
(另外想在E~J栏加入防呆机制-不管怎麽输入日期都会变成oooo/oo/oo的西元年格式
例如:107/01/05、1070105、0105、1/15)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.160.167.233
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1537763046.A.A4B.html
1F:→ soyoso: 如符合日期序列值的话,函数min来回传最早日期 09/24 12:33
3F:→ soyoso: 至今天数函数today()减k2的值,格式化条件大於等於60,字 09/24 12:34
4F:→ soyoso: 型色彩改为红色;打开该档案时跳出警示视窗方面,想到的是 09/24 12:35
5F:→ soyoso: 巨集workbook_open触发,msgbox来显示提醒的字串 09/24 12:35
6F:→ soyoso: 防呆提醒要以符合日期格式键入的话,可於资料验证,储存格 09/24 12:39
7F:→ soyoso: 内允许,日期。e:j栏储存格格式改为yyyy/mm/dd,这样1/15 09/24 12:40
8F:→ soyoso: 的键入方式也可符合日期序列值的西元年格式 09/24 12:40
9F:→ ck3300511: 如果L栏有任何一个储存格大於等於60 09/24 13:20
10F:→ ck3300511: 是用For Each cell In rng吗? 09/24 13:21
11F:→ soyoso: 这要看大於等於60是要显示红字(以格式化条件),或跳出警示 09/24 13:31
12F:→ soyoso: 视窗,如是要该视窗msgbox的话可用回文for each..next 09/24 13:32
13F:→ soyoso: 来累计合并最後要带入视窗内的字串 09/24 13:32
15F:→ ck3300511: 吗?如果是L栏其中一个储存格>=60就会跳Msgbox的话 09/24 21:41
16F:→ soyoso: 1.该活页簿只有一个工作表吗?二个工作表以上的话是否作用 09/24 22:02
17F:→ soyoso: 的工作表就是判断L1:L9999的工作表呢?如果不一定的话,请 09/24 22:03
18F:→ soyoso: 以sheets.range或workshees.range的方式指定 09/24 22:03
19F:→ soyoso: 2.要看回圈於L1:L9999执行上的效率,如调整为动态的话,可 09/24 22:05
20F:→ soyoso: 以range.end、range.find取得最後有值的储存格,如要回传 09/24 22:06
21F:→ soyoso: 列号的话以row;如为连续资料的话也可以工作表函数counta 09/24 22:07
22F:→ soyoso: 或count 09/24 22:07
23F:→ soyoso: 如L栏其中一个储存格大於等於>=60就跳msgbox方式就要看还 09/24 22:08
24F:→ soyoso: 要於讯息内加上什麽资讯。 09/24 22:10
25F:→ soyoso: 1.只有要一笔符合,跳出讯息且离开回圈的话exit for 09/24 22:11
26F:→ soyoso: 2.回传的讯息要有那个储存格符合条件的话range.address 09/24 22:11
27F:→ soyoso: 字串连接上以&;若是要全部符合储存格都连接的话,设个 09/24 22:13
28F:→ soyoso: 变数来连结&,再将msgbox的部分移到next下方 09/24 22:15
29F:→ ck3300511: 只要有一笔符合就跳出讯息 exit for要怎麽用呀 09/24 22:16
30F:→ soyoso: 如只要有一笔符合跳出讯息且离开回圈的话 exit for就写在 09/24 22:19
31F:→ soyoso: msgbox 下方 09/24 22:19
32F:→ soyoso: 如是要上述的话,也可以工作表函数countif,当计数大於0时 09/24 22:24
33F:→ soyoso: 就msgbox讯息,可不用回圈 09/24 22:25
34F:→ ck3300511: 谢谢S大 09/24 22:36
35F:→ ck3300511: 请问next和exit for要加在哪? 09/25 21:02
36F:→ ck3300511: 今天试跑出现错误讯息说没有next 09/25 21:03
37F:→ ck3300511: next加的位置好像会牵连exit for 09/25 21:03
39F:→ soyoso: 方;exit for加在end if上方 09/25 22:36
40F:→ ck3300511: 好!明天试试看~谢谢S大 09/25 22:52