我导入一个外部文本文件(.csv)到我的excel工作表名为"SourceData"。
该连接称为"Data"。每次刷新工作簿时,excel都会让我选择源文件。我的源文件数据结构相同,它们是由其他数据库自动生成的:
REPL_STATS_010314130000.CSV
REPL_STATS_030314060001.CSV
....
我的问题是:
- 我怎么能得到我的外部csv文件的文件名,目前导入到我的工作表"SourceData",所以当我刷新连接,这个名字显示在一个单元格(例如A1)在另一个名为"摘要"
例如:我点击全部刷新后,选择文件"repl_stats_01031413000 . csv"来更新我的数据源,那么单元格A1将显示"repl_stats_01031413000 . csv"
几天来我一直在努力寻找解决办法,但我还是没有办法。
你能建议的形式VBA代码,可以得到这个信息?
提前感谢!
感谢Tim Williams的建议,我编写了以下代码,并将此代码放在Sheet1(SourceData)中:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ConSource As String
ConSource = Worksheets("SourceData").QueryTables("Data").Connection
Worksheets("Summary").Range("A1").Value = "Source: " & Right(ConSource, Len(ConSource) - InStrRev(ConSource, ""))
ConSource = ""
End Sub