【问题标题】:Excel VBA Report, Selecting Cells by a criteriaExcel VBA 报表,按条件选择单元格
【发布时间】:2012-07-16 03:14:53
【问题描述】:

我有这个 Excel

现在我想使用 VBA 宏制作一些报告

报告 1(选择所有任务)

选择总任务数,无论它们是否完成 重要的!请记住,这里有 5 个任务,在另一个 excel 中可能是 20 30 ,但都具有相同的格式 C6 - task_id, D6 - task_name, E6 task_name ... 等等

报告 2(全选 WHERE completed is 100%)

选择已完成列为 100% 的总任务数 重要的!请记住,这里有 5 个任务,在另一个 excel 中可能是 20 30 ,但都具有相同的格式 C6 - task_id, D6 - task_name, E6 task_name ... 等等

报告 3(选择所有用户并检索有关其生产力的信息)

这里基本上我需要类似的东西

SUM(I6:I10) - SUM(K6:K10) WHERE task_given_to = 'OM'

SUM(I6:I10) - SUM(K6:K10) WHERE task_given_to = 'MN'

SUM(I6:I10) - SUM(K6:K10) WHERE task_given_to = 'NM'

重要!请记住,这里有 5 个任务,在另一个 excel 中可能是 20 30 ,但都具有相同的格式 C6 - task_id, D6 - task_name, E6 task_name ... 等等

有什么帮助吗?
我必须说,在 SQL 中这很容易......

【问题讨论】:

  • 在 SQL 中它很容易,是的。查看以下内容:自动筛选、SUMIF 函数、ADODB 访问 Excel
  • 为什么是 MS Access 标签?如果您有 MS Access,为什么不能将工作表链接为表格并运行查询?回复 ADODB:support.microsoft.com/kb/257819

标签: ms-access vba excel excel-2007


【解决方案1】:

使用 VBA 有什么要求吗?除非我缺少某些东西,否则一个简单的数据透视表就可以做到这一点。

  1. 只需将任务名称作为行字段即可。
  2. 在完成时应用过滤器。
  3. 用户作为行字段,生产力作为数据,任务类型作为列。

这不是你想要达到的目标吗?

哦,仅供参考,如果这确实来自 Access,您可以使用 MS Query。 数据 => 其他来源 => MS Query => 访问数据库

然后您可以只使用 SQL 查询来检索数据。然后我会制作 3 个数据表,其中包含 3 个不同的查询和 3 个报告表,这些表会将数据格式化为更像报告的格式。

【讨论】:

  • 那你在说什么,只使用 Access 吗?我不太明白,因为我不经常使用 Excel,出于某些原因,我需要在 Excel 中执行此操作,但如果我真的需要,我将使用 Access
  • 不,我只是认为数据可能来自 Access,但正如我所说,我认为一个或多个数据透视表可以满足您的需求。
  • 如果您可以链接我一个 Excel 文件,我可以尝试通过屏幕截图显示我的意思。
  • 我设法只用原始数据做前两个,第三个我认为需要一个新列中的公式才能使其工作,因为据我所知,没有办法在数据透视表中进行算术运算.我会再考虑一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-25
  • 1970-01-01
相关资源
最近更新 更多