我是新来的,也是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
请帮帮我!
发布于 2018-08-03 15:12:29
使用@asantaballa的奇怪但很棒的Excel公式的VBA等值。
将NewBook.SaveAs
行的文件名更改为
Filename:=ThisWorkbook.Path & "\" & Format(DateValue(Range("D4") & " 1"), "mm") & "_" & Range("I2") & "_" & " FLA"
这需要使用DateValue
中的月份,将其附加到" 1"
以使其看起来像真正的日期,然后使用DateValue
将其转换为日期值,然后我们可以使用Format
从该值派生数字。
所以AUGUST
在细胞D4中
通过添加“1”而成为AUGUST 1
它使用01/08/2001
函数成为DateValue
。
,它被格式化为生成08
.的mm
。
发布于 2018-08-03 15:03:25
看上去有点好笑,但是试试
=TEXT(MONTH(DATEVALUE(D4 & "1")),"00")
http://www.exceltip.com/tips/converting-month-name-to-a-number-in-excel-2010-2013.html
https://stackoverflow.com/questions/51675254
复制相似问题