首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按月份(名称)获取数据excel vba

按月份(名称)获取数据excel vba
EN

Stack Overflow用户
提问于 2017-08-07 14:56:00
回答 1查看 1.3K关注 0票数 0

我目前正在为我们的报告创建一个模板。我想做一些自动化的工作。

我有一个源表,我称之为"KPISource“(数据源在sharepoint中,因此这是一个表)。在第一列中,我想要获取具有当前月份和前一个月的数据。

基本上,如果是当月,它会将数据放在“8月”列中。如果日期是前一个月,那么它也会将数据放在“7月”中。

在我的源表中,列是日期、票证解决(生产率)、YTD、票证重开率(质量)、账龄<5天(质量)、YTD (账龄<5天)、账龄>5天(质量)、YTD (账龄>5天)、客户满意度、YTD (客户满意度)

目前这是我的代码,但没有显示输出。这是我正在尝试的代码,如果在第1列(KPISource)中有以前的日期,那么它的值将在KPI.Cells(6,4).Value (票证已解决“7月”)中。

代码语言:javascript
复制
Sub OperationalKPI()

Dim KPI As Worksheet
Set KPI = Sheets("OperationalKPI")
Dim KPISource As Worksheet
Set KPISource = Sheets("KPISource")


mPrevious = Format(DateAdd("m", -1, Date), "mmmm")
mCurrent = Format(Date, "mmmm")


lastrow = KPISource.Cells(Rows.Count, 1).End(xlUp).Row

For x = 2 To lastrow

If mPrevious = KPISource.Cells(x, 1) Then

   KPI.Cells(6, 4).Value = KPISource.Cells(x, 2).Value

End If

Next x


End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-07 21:03:35

根据您的反馈,问题就在这条线上

代码语言:javascript
复制
If mPrevious = KPISource.Cells(x, 1) Then

7月是一个包含月份名称的字符串,例如“mPrevious”,但是KPISource.Cells(x,1)包含日期,因此两者永远不会相等。

将行更改为:

代码语言:javascript
复制
If mPrevious = Format(KPISource.Cells(x, 1),"mmmm") Then

这将使两个项都成为字符串,其中包含月份的名称,并且If应查找匹配项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45540969

复制
相关文章

相似问题

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