我有一个简单的问题应该很容易回答。我试图使一个字符串反映一个单元格的值。它将导入的电子表格的命名方案是"(CSV)&的值。 (" [1] .csv")没有空格。 CSV是B5的值。如果变量CSV = WASHINGTON我需要读取行
Windows(WASHINGTON[1].csv).Activate
以下是我所拥有的。我的CSV变量出错了。
Sub Import_CSV()
Import_CSV Macro
Dim CSV As Long
Application.DisplayAlerts = False
Windows("Records.xlsm").Activate
Worksheets("Data").Activate
CSV = Cells(5, "B").Value
Windows(CSV & "[1].csv").Activate
Rows("1:2").Select
Range("A2").Activate
Selection.Cut ... etc
非常感谢任何帮助。
答案 0 :(得分:2)
您已声明CSV As Long
,但您期望获得String
数据类型。这几乎肯定会导致任何非数字值的不匹配错误。
声明Dim CSV as String
,然后解决它。
注意:这假定指定的文件已经打开。如果没有,您将在.Activate
声明中收到错误。
您还应该避免使用Activate
和Select
方法。这里有一些资源可以解释原因:
How to avoid using Select in Excel VBA macros
请将来更好地描述您的实际问题 - 如果您收到错误消息,指出该消息是什么,以及它引发的是哪一行。对于那些试图帮助您的人来说,这非常非常有用。