excel - 如何根据两个条件将工作簿中的工作表移动到另外两个打开的(新创建的)工作簿参考下面的代码?
问题描述
Sub transfersheets()
Dim originalwb As String, ws As Worksheet, wb1name As String, wb2name As String
originalwb = ThisWorkbook.Name
wb1name = Workbooks(originalwb).Worksheets("source").Range("B2").Value & " " & "MD" & " " & "&" & " " & "Prime" & " " & "Rdg. Sht." & " " & "&" & " " & "Direct." & " " & UCase(Format(Date, "mmmm yyyy")) & ".xlsx"
wb2name = Workbooks(originalwb).Worksheets("source").Range("B2").Value & " " & "Non" & " " & "MD" & " " & "Rdg. Sht." & " " & "&" & " " & "Direct." & " " & UCase(Format(Date, "mmmm yyyy ")) & ".xlsx"
'Workbooks(originalwb).Activate
Application.ScreenUpdating = False
For Each Worksheet In Workbooks(originalwb).Worksheets
'If Len(ws.Name) > 6 Then
If Len(Worksheet.Name) > 6 And Worksheet.Name = "NMD*" Then
Workbooks(originalwb).ws.Move Before:=Workbooks(wb2name).Worksheets(Sheets.Count)
ElseIf Len(Worksheet.Name) > 6 And Worksheet.Name = "PRIME*" Then
Workbooks(originalwb).ws.Move Before:=Workbooks(wb1name).Worksheets(Sheets.Count)
ElseIf Len(Worksheet.Name) > 6 And Worksheet.Name = "MD*" Then
Workbooks(originalwb).ws.Move Before:=Workbooks(wb1name).Worksheets(Sheets.Count)
End If
'End If
Next
Workbooks(wb1name).Save
Workbooks(wb1name).Close
Workbooks(wb2name).Save
Workbooks(wb2name).Close
Workbooks(originalwb).Worksheets("source").Range("AA:AG").ClearContents
MsgBox "The Reading Sheets & Direct Customers' Lists has Been Successfully Prepared."
Application.ScreenUpdating = True
End Sub
解决方案
Dim wbTarget
For Each ws In Workbooks(originalwb).Worksheets
If Len(ws.Name) > 6 Then
If ws.Name Like "NMD*" Then
Set wbTarget = Workbooks(wb2name)
ElseIf ws.Name Like "PRIME*" Or ws.Name Like "MD*" Then
Set wbTarget = Workbooks(wb1name)
End If
If Not wbTarget Is Nothing Then
ws.Move Before:=wbTarget.Worksheets(wbTarget.Sheets.Count)
Set wbTarget = Nothing
End If
End If
Next
推荐阅读
- azure-functions - 生产中的 Azure Functions 异常
- r - 整理条形图
- html - 如何使我的 HTML 可通过浏览器 Ctrl-F 搜索并使用绝对文本定位?
- microsoft-teams - Microsoft Teams 快速租户切换未立即显示
- javascript - 如何在html中强制删除页脚后的文本
- postgresql - 如何编写将最后插入的行放入表中的触发器?
- actionscript-3 - 错误函数场景 Adobe Animate 语法错误
- javascript - 如何检查提到的用户是否具有管理员权限?
- python - python - 如何在不导入任何外部内容的情况下在python中订购一列?
- python - 如何在 SQL 查询的 where 条件中使用外部变量?