Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: zhengyixin

通过vba根据日期实时更新数据

[复制链接]
发表于 2017-8-4 09:24 | 显示全部楼层
用MATCH,或者遍历,如果数组够大,最好用字典,直接能判断是否存在此元素。
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2017-8-4 09:39 | 显示全部楼层
大灰狼1976 发表于 2017-8-4 09:24
用MATCH,或者遍历,如果数组够大,最好用字典,直接能判断是否存在此元素。

还有一个问题,假设我能算出每个月的天数,但我怎么确定这个月做了多少天?
我的思路是,因为只有开始时间和结束时间会出现不满月的现象,之间的月份都是满月或者没有,所以做个判断是否是开始时间或者结束时间或者其他,然后单独算开始时间和结束时间的工期量
回复

使用道具 举报

发表于 2017-8-4 09:42 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2017-8-4 09:48 | 显示全部楼层

111.png 这个是我创建的数组,其实他的数值是对应列的意思。那现在我要判断a这个变量(a为我取得列序号)是否包含在其中某一数值里面,语句应该怎么写
回复

使用道具 举报

发表于 2017-8-4 10:01 | 显示全部楼层
你只是声明了空数组,并没有赋值,所以不能判断。
回复

使用道具 举报

 楼主| 发表于 2017-8-4 10:18 | 显示全部楼层
大灰狼1976 发表于 2017-8-4 10:01
你只是声明了空数组,并没有赋值,所以不能判断。

222.png 若变量a=6,arr2012数组是否有此值,语句怎么写
回复

使用道具 举报

 楼主| 发表于 2017-8-4 10:20 | 显示全部楼层

if isnumeric(application.match(a,arr2012,0)) then
这种写法对吗
回复

使用道具 举报

 楼主| 发表于 2017-8-4 11:07 | 显示全部楼层
大灰狼1976 发表于 2017-8-4 10:01
你只是声明了空数组,并没有赋值,所以不能判断。

333.png
我想删除e3到az2 3的数据,语句怎么写
回复

使用道具 举报

发表于 2017-8-4 11:11 | 显示全部楼层
If IsNumeric(Application.Match(a, arr2012, 0)) Then MsgBox "true"
回复

使用道具 举报

 楼主| 发表于 2017-8-4 11:15 | 显示全部楼层
大灰狼1976 发表于 2017-8-4 11:11
If IsNumeric(Application.Match(a, arr2012, 0)) Then MsgBox "true"

那个删除语句怎么写
Rows(Target.Row).Range("e:az2").Clear,我这样写错误
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-18 13:14 , Processed in 0.330045 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表