【发布时间】:2019-01-11 12:03:23
【问题描述】:
我是新来的,也是 VBA 的。我试图找出将活动工作表导出到新工作簿(只是值)并将其保存为特定名称,其中部分名称必须以月份转换为两位数格式。 更具体地说,“D4”中有一个月份名称。我需要使用本月新工作簿的名称但转换为两位数格式。
With ActiveSheet
ActiveSheet.Range("A1:M40").Copy
Set NewBook = Workbooks.Add
With NewBook
NewBook.Worksheets("Sheet1").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Dim LMonth As Integer
NewBook.SaveAs Filename:=ThisWorkbook.Path & "\" & Range("D4") & "_" & Range("I2") & "_" & " FLA"
End With
End With
这是将工作表打印为 pdf 然后将工作表导出到新工作簿的完整代码:
Private Sub Print_PDF_Click()
With ActiveSheet
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & ActiveSheet.Name & " " & Range("I2") & " FLA" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
With ActiveSheet
ActiveSheet.Range("A1:M40").Copy
Set NewBook = Workbooks.Add
With NewBook
NewBook.Worksheets("Sheet1").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Dim LMonth As Integer
NewBook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Range("D4"),"mm") & "_" & Range("I2") & "_" & " FLA"
End With
End With
MsgBox "PDF successfully created!"
End With
End Sub
请帮忙!
【问题讨论】:
-
单元格中确实有月份的名称,还是单元格包含日期并格式化为显示月份的名称?
-
"D4" 包含月份名称为 "January, February ...etc."格式化为日期。因此,如果有“May”,我需要新工作簿名称中的“05”。
-
我仍然不清楚:如果您选择带有月份的单元格:顶部的数据输入字段中显示什么?一个约会?那么字段的content就是一个日期。在这种情况下,只需使用
format(Range("D4"), "MM") -
"MM" 将其保存为月份名称而不是两位数(“January”而不是“01”)。