小编msi*_*sim的帖子

Excel 根据列名称而不是单元格名称查找数据

我正在尝试在 Excel 中完成一项奇怪的任务,但不知道如何去做。我在工作中使用 Excel 2007,并且了解非常基本的 vba。

我想要自动化一个流程,一个人获取三个电子表格并将其中的某些数据转储到一张主表中。这三个电子表格的列顺序每个月都会有所不同,因此不幸的是,我无法仅对 vlookups 进行编程来运行并获取数据。

我可能是错的,但看起来 Vlookup Match、Index Match Match 等也不起作用,因为它们仍在引用单元格。 我基本上需要一些东西来根据列中的文本而不是其位置来查找列,因为位置会改变,但文本将始终是相同的。

我有两个想法,但我不知道它们是否有效,也不知道从哪里开始实施它们:

  1. 将三个电子表格转换为表格并使用表格语法引用标题(我无法使其工作)
  2. ID 一切的复杂 VBA

谁能帮助我指明完成这项任务的正确方向?非常感谢你的帮助。

编辑示例

我尝试将内容转储到的主模板将包含 ID# 和空列:

ID#          AltID#          Deal
1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)

然后另一个电子表格可能看起来像这样

ID#          AltID#          Deal
1            10101           AAAA
2            20202           BBBB
3            30303           CCCC
4            40404           DDDD
5            50505           EEEE
Run Code Online (Sandbox Code Playgroud)

我当然可以进行查找,但问题是下个月,第二个电子表格中的这些列将不会以相同的顺序位于相同的位置。它们可能一直在 DD 列或其他什么地方。因此,我需要一个公式来查找它们,无论列的位置如何。只需通过标题文本匹配它们即可。我希望这能澄清...

excel vba vlookup

3
推荐指数
1
解决办法
4429
查看次数

Access VBA 在 SQL 中创建另一个 SQL 查询使用的临时查询

我有一个关于在 Access VBA 中运行 SQL 的问题。我基本上想在 vba 中创建一个查询,但不想让它成为我的数据库中的查询。它只是坐在那里,不可见,直到使用它的操作完成,然后它就会被删除。

我的代码如下(简化以关注这个问题)。我认为我这样做不对,因为我认为在第二个查询中我需要做这" & ECStart2SQL & "件事,但我不知道当我需要引用一个值时它会如何工作。

Private Sub TimeReportingButton_Click()
'THIS IS THE 1ST QUERY
Dim ECStart2SQL As String
ECStart2SQL = "SELECT D1.[#], (SELECT Count(*) FROM tbl_Data D2 WHERE D2.[#] = D1.[#] AND D2.[tsUpdated] <= D1.[tsUpdated]) AS Sequence, D1.tsUpdated FROM tbl_Data AS D1 WHERE ((((SELECT Count(*) FROM tbl_Data D2 WHERE D2.[#] = D1.[#] AND D2.[tsUpdated] <= D1.[tsUpdated]))=1)) ORDER BY D1.[#]"


'THIS IS THE 2ND QUERY, THE UPDATE QUERY, THAT REFERS TO THE …
Run Code Online (Sandbox Code Playgroud)

sql ms-access vba

0
推荐指数
1
解决办法
6347
查看次数

标签 统计

vba ×2

excel ×1

ms-access ×1

sql ×1

vlookup ×1