【发布时间】:2021-09-08 21:45:43
【问题描述】:
有没有办法从打开的 Excel 工作簿中复制文件名,并将其粘贴到目标工作簿中?我有一个从打开的工作簿中复制数据的宏,但我不确定如何获取文件名。
这是我必须从打开的工作簿中复制整个选择的宏。我将如何将文件名添加到此?谢谢!
Sub LazyBill()
' LazyBill Macro
'
' Keyboard Shortcut: Ctrl+d
'
Dim SFC_Ver
Dim WB1 As Workbook, WbName As String
Dim WB2 As Workbook, Wb2Name As String
'Dim Ksearch As Range
Dim Kvalue As String
Set WB1 = ActiveWorkbook
WbName = ActiveWorkbook.Name
'Open .cvs file to input
'MsgBox ("Once you click OK a File Open window will appear. Browse to the .cvs file that you wish to add to the trend data and click open")
Filename = False
Filename = Application.GetOpenFilename
If Filename = False Then
CloseMaster
End If
Dim sStarDir As String
sStarDir = CurDir
ChDir "\\sw\data\****"
Application.DefaultFilePath = sStarDir
Workbooks.Open Filename:= _
Filename
Set WB2 = ActiveWorkbook
Wb2Name = ActiveWorkbook.Name
Cells.Select
Selection.Copy
Windows(WbName).Activate
Sheets("DATA").Select
'Paste data into trend data file
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = 0
'Close Trend data .cvs file
Windows(Wb2Name).Activate
ActiveWorkbook.Close False
End Sub
【问题讨论】:
-
添加到哪里?粘贴到与粘贴数据相同的工作表中?
-
是的,我复制的所有数据都进入了目标工作表,我希望数据的来源以及该数据的文件名进入同一个工作表。
-
究竟在哪里?
-
我为歧义道歉。我想弄清楚如何从原始工作簿 WB2 复制文件名。然后将该文件名粘贴到打开的单元格 A4 中,例如,在工作表“DATA”中的目标工作簿 WB1 中。不知道有没有可能,我试过录制几个宏都没有成功。
-
这不会被源工作表中复制的数据覆盖吗?