Excel 如何使用文件名返回工作簿
我从主工作簿中提取选项卡,并用它们创建单独的工作簿。 然后我返回到原始主工作簿,循环浏览除主选项卡之外的所有选项卡。 我可以输入主工作簿文件名并返回,没有问题,但主工作簿文件名每次都可以更改。 我需要从主工作簿中获取文件名,并将其传递到我的VBA代码中以引用回它。 我想我离这里很近,但不太近Excel 如何使用文件名返回工作簿,excel,vba,Excel,Vba,我从主工作簿中提取选项卡,并用它们创建单独的工作簿。 然后我返回到原始主工作簿,循环浏览除主选项卡之外的所有选项卡。 我可以输入主工作簿文件名并返回,没有问题,但主工作簿文件名每次都可以更改。 我需要从主工作簿中获取文件名,并将其传递到我的VBA代码中以引用回它。 我想我离这里很近,但不太近 Sub Macro4() Dim WB As Workbook WB = GetThisWB2 Dim WSCount As Integer WSCount = Worksheets.Count Di
Sub Macro4()
Dim WB As Workbook
WB = GetThisWB2
Dim WSCount As Integer
WSCount = Worksheets.Count
Dim allsheets As Integer
allsheets = WSCount
Do While allsheets > 1
Sheets(allsheets).Select
Sheets(allsheets).Move
''----Windows("FILENAME").Activate this works
WB.Activate
allsheets = allsheets - 1
Loop
End Sub
Function GetThisWB()
GetThisWB = ThisWorkbook.Path & "\" & ThisWorkbook.Name
GetThisWB2 = ThisWorkbook.Name
End Function
根据您所描述的,我认为您正在尝试这样做:
Sub test()
Dim wK as worksheet
For each wK in thisworkbook.Worksheets
if wK.Name <> "Master" then
wk.copy
Activeworkbook.saveas thisworkbook.path & "\" & wk.name & ".xlsx"
Activeworkbook.close true
End if
Next wK
Msgbox "Process Completed"
End Sub
你只是在移动床单。是否需要为每个工作表(主工作表除外)创建单独的工作簿?仅供参考:对于主工作表中的所有代码,您可以使用ThisWorkbook引用它,并使用ThisWorkbook.Name以字符串形式获取其名称。如果您在代码中使用此工作簿,它总是返回对代码所在工作簿的引用。Misetella:Ha!这么简单。非常感谢newguy:是的,一旦它们被拆分,我需要将它们保存在各自的工作簿中。那是下一个铲球