如何获取现有连接的外部文件的文件名 – Excel

我将一个外部文本文件(.csv)导入到名为“SourceData”的Excel工作表中。

连接被称为“数据”。 每当我刷新我的工作簿,Excel会要求我select我的源文件。 我的源文件具有相同的数据结构,它们是由其他数据库自动生成的:

REPL_STATS_010314130000.CSV REPL_STATS_030314060001.CSV .... 

我的问题是:

  • 如何获取当前导入到工作表“SourceData”的外部csv文件的文件名,以便在刷新连接时,该名称显示在另一个名为“Summary”的工作表的单元格(例如A1)中

例如:点击全部刷新后,select文件“REPL_STATS_010314130000.CSV”来更新我的数据源,那么单元格A1会显示“REPL_STATS_010314130000.CSV”

我已经尝试几天search解决scheme,但是我无法完成工作。

你可以build议forms的VBA代码,可以得到这个信息?

先谢谢你!

感谢蒂姆·威廉斯build议我写下面的代码,并将此代码放在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