Excel 添加MMYYYY以在变量上保存名称
我有一个代码,可以将工作表拆分成新的工作簿,并按B列中的名称保存它们。 我要做的是在保存每个文件时,在文件名的末尾添加“ABC MM_YYYY” 我知道在设置fileNm时应该插入一行类似的内容:Excel 添加MMYYYY以在变量上保存名称,excel,vba,Excel,Vba,我有一个代码,可以将工作表拆分成新的工作簿,并按B列中的名称保存它们。 我要做的是在保存每个文件时,在文件名的末尾添加“ABC MM_YYYY” 我知道在设置fileNm时应该插入一行类似的内容: Format(DateSerial(Year(Date), Month(Date) - 1, 1), "mm_yyyy") 我试过了 fileNm = Dir(loopFolder & "*ABC " & Format(DateSerial(Year(Date), Month(Dat
Format(DateSerial(Year(Date), Month(Date) - 1, 1), "mm_yyyy")
我试过了
fileNm = Dir(loopFolder & "*ABC " & Format(DateSerial(Year(Date), Month(Date) - 1, 1), "mm_yyyy") & ".xlsx")
fileNm = Dir(loopFolder & "ABC " & Format(DateSerial(Year(Date), Month(Date) - 1, 1), "mm_yyyy") & "*.xlsx")
没有运气。如果有人能指导我把这个修好,那就太棒了
Dim loopFolder As String
Dim fileNm As Variant
Dim myFiles As New Collection
loopFolder = "J:\Documents\Hookset\"
fileNm = Dir(loopFolder & "*.xlsx")
Do While fileNm <> ""
myFiles.Add fileNm
fileNm = Dir
Loop
将文件夹设置为字符串
Dim fileNm作为变体
将myFiles设置为新集合
loopFolder=“J:\Documents\Hookset\”
fileNm=Dir(loopFolder&“*.xlsx”)
当文件名为“”时执行此操作
myFiles.addfilenm
fileNm=Dir
环
*编辑-我看错了代码的部分,插入的日期应该在这里,而不是上面
''Dim FileExtStr作为字符串
Dim FileFormatNum尽可能长
将xWs设置为工作表
Dim xWb作为工作簿
Dim FolderName作为字符串
Application.ScreenUpdating=False
Set xWb = Application.ActiveWorkbook
FolderName = xWb.Path & "\Hookset\"
For Each xWs In xWb.Worksheets
xWs.Copy
If Val(Application.Version) < 12 Then
FileExtStr = ".xls": FileFormatNum = -4143
Else
Select Case xWb.FileFormat
Case 51:
FileExtStr = ".xlsx": FileFormatNum = 51
Case 52:
If Application.ActiveWorkbook.HasVBProject Then
FileExtStr = ".xlsm": FileFormatNum = 52
Else
FileExtStr = ".xlsx": FileFormatNum = 51
End If
Case 56:
FileExtStr = ".xls": FileFormatNum = 56
Case Else:
FileExtStr = ".xlsb": FileFormatNum = 50
End Select
End If
xFile = FolderName & "\" & Application.ActiveWorkbook.Sheets(1).Name & " ABC " & Format(DateSerial(Year(Date), Month(Date) - 1, 1), "mm_yyyy") & FileExtStr
Application.ActiveWorkbook.SaveAs xFile, FileFormat:=FileFormatNum
Next
Set xWb=Application.active工作簿
FolderName=xWb.Path&“\Hookset”
对于xWb.工作表中的每个xWs
拷贝
如果Val(Application.Version)<12,则
FileExtStr=“.xls”:FileFormatNum=-4143
其他的
选择Case xWb.FileFormat
案例51:
FileExtStr=“.xlsx”:FileFormatNum=51
案例52:
如果Application.ActiveWorkbook.HasVBProject,则
FileExtStr=“.xlsm”:FileFormatNum=52
其他的
FileExtStr=“.xlsx”:FileFormatNum=51
如果结束
案例56:
FileExtStr=“.xls”:FileFormatNum=56
其他情况:
FileExtStr=“.xlsb”:FileFormatNum=50
结束选择
如果结束
xFile=FolderName&“\”&Application.ActiveWorkbook.Sheets(1)。Name&“ABC”&Format(DateSerial(年(日)、月(日)-1,1),“mm_-yyyy”)&FileExtStr
Application.ActiveWorkbook.SaveAs xFile,FileFormat:=FileFormatNum
下一个
'''
xFile中缺少我,现在运行良好。以MMYYY结尾的文件名是新名称吗?如果是这样,为什么要在查找现有文件的
Dir
中使用它?我不太清楚,但是“ABC”&chr(32)和format(现在是“mm yyy”)
也许吧?@BigBen就像你的问题一样简单,它让我看到了代码的正确部分。谢谢你还有问题吗?或者你的问题解决了吗?已经解决了。