ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: liuliu3211

[求助] 求助大侠:以今天为基准,向后推30天,提取这期间的数据

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-7 16:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
袁勇 发表于 2018-2-7 15:58
请上传附件,图片看不出问题。

如果有机密信息,请虚拟。

想用整车销售工作表里的交车日期,根据我的条件匹配物料号,结果放到进销存数据源的物料号一栏,谢谢!

123.rar

235.87 KB, 下载次数: 4

TA的精华主题

TA的得分主题

发表于 2018-2-7 17:01 | 显示全部楼层
liuliu3211 发表于 2018-2-7 16:03
想用整车销售工作表里的交车日期,根据我的条件匹配物料号,结果放到进销存数据源的物料号一栏,谢谢!

A7:
  1. =LOOKUP(ROW(A1)-1,COUNTIFS(OFFSET(车辆销售!$O$3,,,ROW(车辆销售!$1:500)),">="&TODAY()-30-1,OFFSET(车辆销售!$O$3,,,ROW(车辆销售!$1:500)),"<"&TODAY()),车辆销售!L$4:L503)
复制代码
下拉。

数据量大的话,建议用VBA来处理。公式处理运算慢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-7 17:06 | 显示全部楼层
袁勇 发表于 2018-2-7 17:01
A7:下拉。

数据量大的话,建议用VBA来处理。公式处理运算慢!

VBA?这个怎么用

TA的精华主题

TA的得分主题

发表于 2018-2-7 17:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

123.rar (253.04 KB, 下载次数: 9)

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-7 17:57 | 显示全部楼层

大侠,这个VBA怎么建立的 有步骤讲解吗?已经从你那个表里获取到了代码。刚用函数下拉,整个电脑都卡死了,谢谢。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-7 22:28 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
袁勇 发表于 2018-2-7 17:01
A7:下拉。

数据量大的话,建议用VBA来处理。公式处理运算慢!

您好,已经学会了添加VBA,但是你帮我编辑的这个VBA不能自动自动调整时间啊,我自己手动筛选下,今天向后推30天的值和你用VBA查询的结果不一样啊,烦请帮忙调整下你的VBA程序,谢谢!

TA的精华主题

TA的得分主题

发表于 2018-2-8 08:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
liuliu3211 发表于 2018-2-7 22:28
您好,已经学会了添加VBA,但是你帮我编辑的这个VBA不能自动自动调整时间啊,我自己手动筛选下,今天向后 ...

If Sheets("车辆销售").Cells(m, 15) >= Date - 31 And Sheets("车辆销售").Cells(m, 15) < Date

这句是限定的条件,
大于等于30天前的前一天:Cells(m, 15) >= Date - 31。
小于今天:Cells(m, 15) < Date。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-8 08:47 | 显示全部楼层
袁勇 发表于 2018-2-8 08:37
If Sheets("车辆销售").Cells(m, 15) >= Date - 31 And Sheets("车辆销售").Cells(m, 15) < Date

这句 ...

嗯 不知道怎么了,做个试验,前面的时间表格用帅选的方法得到的数据个数,和用VBA计算后得到的数据个数不一致的,昨天算了下,今天也算了下,VBA得到的数据个数是一样的啊,方便加下QQ吗,249960983.谢谢!

TA的精华主题

TA的得分主题

发表于 2018-2-8 08:56 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
liuliu3211 发表于 2018-2-8 08:47
嗯 不知道怎么了,做个试验,前面的时间表格用帅选的方法得到的数据个数,和用VBA计算后得到的数据个数不 ...

Private Sub CommandButton1_Click()
Sheets("进销存、月指标数据源").Range("A7:A10000").ClearContents
I = Sheets("车辆销售").[O65536].End(xlUp).Row
Application.ScreenUpdating = False
H = 7
For m = 4 To I
   If Sheets("车辆销售").Cells(m, 15) >= Date - 31 And Sheets("车辆销售").Cells(m, 15) < Date Then
      Sheets("车辆销售").Cells(m, "L").Copy Sheets("进销存、月指标数据源").Cells(H, "A")
      Sheets("车辆销售").Cells(m, "O").Copy Sheets("进销存、月指标数据源").Cells(H, "B")
      H = H + 1
   End If
Next
Application.ScreenUpdating = True
End Sub

1、加了一句(有颜色的),把时间也调过来,方便验证。看看与你手工筛选的是不是一样?
2、看下条件是否一样,如果不一样,请调整到和你的实际条件相符。

TA的精华主题

TA的得分主题

发表于 2018-2-8 09:06 | 显示全部楼层
本帖最后由 丢丢表格 于 2018-2-8 09:07 编辑
袁勇 发表于 2018-2-8 08:56
Private Sub CommandButton1_Click()
Sheets("进销存、月指标数据源").Range("A7:A10000").ClearContent ...

能够用基础操作的事,何必要走一大弯圈呢?  实在想不通呀。
所以只能说 不会写这样的公式。

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 07:56 , Processed in 0.055976 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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