excel - 我希望我的代码将工作表选项卡传输到我只知道部分名称的 excel 文件
问题描述
Sub movedata_tab_to_2excelFile()
Windows("1excelfileInstructions and macrostest.xlsm"). _
Activate
Sheets("Data").Select
Sheets("Data").Copy Before:=Workbooks( _
"2excel File4253.xlsx").Sheets(3)
Windows("Instructions_and_macros_Test1.xlsm").Activate
End Sub
我想将 [1excelfileInstructions and macrostest.xlsm] 中的数据选项卡移动到 2excel File4253.xlsx,并且我将宏存储在 Instructions_and_macros_Test1.xlsm 中。
我的问题是 2excel File4253.xlsx 的 excel 文件名不断变化,我只知道它的部分名称。无论如何运行我的代码,它可以忽略excel文件名之前和之后的数字,比如向它添加星号/通配符示例excel文件
解决方案
如果您的 Excel 文件已打开,那么您可以尝试执行以下操作:
Sub foo()
Dim wbkCount As Long
For wbkCount = 1 To Workbooks.Count
If Workbooks(wbkCount).Name Like "*excel File*" Then
Debug.Print "This is the one!" & Workbooks(wbkCount).Name
'do something
End If
Next wbkCount
End Sub
基本上,这个想法是让 VBA 遍历所有打开的工作簿并找到与名称excel File匹配的那个。找到后,代码将执行相关操作(用您的语句替换Debug.Print
和'do something
行)。Copy
编辑- 完整代码:
Sub movedata_tab_to_2excelFile()
Dim wbkCount As Long
Windows("1excelfileInstructions and macrostest.xlsm"). _
Activate
For wbkCount = 1 To Workbooks.Count
If Workbooks(wbkCount).Name Like "*excel File*" Then
Sheets("Data").Copy Before:=Workbooks( _
Workbooks(wbkCount).Name).Sheets(3)
End If
Next wbkCount
Windows("Instructions_and_macros_Test1.xlsm").Activate
End Sub
推荐阅读
- indexing - mariadb 没有使用复合索引的所有字段
- java - arraylist 用什么代替 charAt
- swift - 在终端中为另一个应用程序编写一些代码时应用程序的互联网连接丢失
- sockets - 基于clientIP的sessionAffinity不为TCP请求后的新UDP请求维护
- windows - 使用 Powershell 以方便的格式列出系统信息
- ssl - FIPS 模式与 NON-FIPS 模式下密码套件列表的差异
- ubuntu - 尝试通过substrate-front-end-template访问Substrate节点错误{“isTrusted”:true}
- google-sheets - Google Sheet 将 ArrayFormula 与 textjoin 结合使用
- html - HTML 未与 Hugo 中的 CSS 链接
- jdbc - 为复合行实现 SQLData 接口