2

当我使用excel打开一个.txt文件(记事本文件)时,工作表名就是默认打开的记事本文件的文件名。因此,当打开不同的记事本文件时,工作表名称会有所不同。下游代码需要这个工作表名称是固定的。无论如何要将工作表名称更改为固定名称,例如“sheet1”。顺便说一句,不能使用代号,因为使用打开文件中数据的宏不是另一个工作簿。

谢谢!

4

3 回答 3

8

当您从 Excel 打开 .txt 文件时,您不需要代号而不是工作表名称。总会有 1 张。因此,在您的代码中,您始终可以将该表称为

wb.Sheets(1)

wb工作簿对象在哪里。

供您参考,您使用 VBA 打开的每个 .txt 文件都不能有一个通用名称,除非您通过代码设置它。如果你这样做,你将不得不仍然使用wb.Sheets(1)

例如

wb.Sheets(1).Name = "Blah Blah"
于 2012-09-27T17:45:37.890 回答
1

你可以调用你的文本文件 sheet1.txt 吗?那能解决你的问题吗?

于 2012-09-27T19:16:42.690 回答
0

我正在想象您的宏会动态打开文本文件,因为您想使用 excel 内置的 csv 解析。也许之后对数据进行排序和过滤。

Siddarth 给了你一个很好的线索,但你不应该担心名称或工作表,因为正如他所说,你有工作表对象可用于下游代码。

wb.Sheets(1)

现在,如果您想在打开文件的子例程之外引用此工作表。为您的使用全局变量

wb
于 2012-09-28T19:06:57.607 回答