首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在特定日期范围内运行宏

在特定日期范围内运行宏
EN

Stack Overflow用户
提问于 2014-12-02 17:23:26
回答 2查看 1.3K关注 0票数 0

我有一个宏,它从几个日常日志表中提取信息,并在主工作簿中编译该信息。在同一个宏中,我操作数据,以便它填充几个图表。我的问题是,如果我能建立一个日期范围,我想看看,并只提取数据,信息将是最有用的。举个例子,如果我想看到从9/9/14到11/9/14所有机器产生的废品数量。有什么方法可以把这个添加到我已经创建的宏的开头吗?我正在处理的信息看起来有点像我下面的内容。

代码语言:javascript
运行
复制
Machine     Operator      Date    Production    Scrap
A             w          9/9/14      300          15
B             x          9/9/14      400          0
C             y         9/12/14      150          50
D             z         10/9/14      200          3
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-02 21:50:55

这是经过测试的。它将与更改长度的表一起工作,您可以根据许多需求调整其中的概念。玩得开心。

代码语言:javascript
运行
复制
Sub ScrapCount()

Dim str_dateMin As String
Dim str_dateMax As String
Dim dateMin As Date
Dim dateMax As Date
Dim lastRow As Long
Dim subTotal As Double
Dim lookupDate As Date

Dim lRow As Long

lastRow = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
subTotal = 0

str_dateMin = InputBox("Input beginning date, mm/dd/yyyy:")
str_dateMax = InputBox("Input end date, mm/dd/yyyy:")
dateMin = CDate(str_dateMin)
dateMax = CDate(str_dateMax)

For lRow = 2 To lastRow

    lookupDate = Sheets("Sheet1").Cells(lRow, "C").Value

    If dateMin <= lookupDate And lookupDate <= dateMax Then
        subTotal = subTotal + Sheets("Sheet1").Cells(lRow, "E").Value
    End If

Next lRow

MsgBox ("Total scrap for date range = " & subTotal)

End Sub

票数 0
EN

Stack Overflow用户

发布于 2014-12-02 18:23:18

非常广泛,但我要说的是:

  1. 宏的开头调用日期范围的InputBox (1表示开始,1表示结束),并存储为日期变量)
  2. 循环遍历行,如果日期单元格的值在步骤1所定义的变量范围内,则只复制。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27255304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档