将文件名格式化为货币

时间:2014-06-05 14:05:37

标签: excel-vba vba excel

你能解释为什么这个代码在保存为文件名时不包含$?

Sheets("Input").Range("F18").Value & " - $" & Sheets("Input").Range("M13").Value

当我将文件运行到pdf时,它只是忽略了$。如何将单元格值M13更改为美元金额,最好包括","当达到或超过1,000美元时

谢谢!

2 个答案:

答案 0 :(得分:0)

您不能在文件名中加入,!因此,您无法以任何方式将该格式传输到文件名中。但是,如果您只是在查看工作表时谈论单元格,请右键单击并在选项中将其格式化

至于" $"没有显示,试试这个:

Dim FName as string
Fname = Sheets("Input").Range("F18").Value & " - $" & Sheets("Input").Range("M13").Value

测试时工作正常。

<强>更新

再次测试:

Sub test()

Dim N1 As Double

N1 = Sheets("Sheet1").Range("B3")

ActiveWorkbook.SaveAs ("Test - $" & N1)


End Sub

其中N1 = 1000格式化为$ X,XXX.xx(其中x显然是一个数字)并且工作正常。我得到的输出是一个名为: Test - $ 1000.xls

的文件名

答案 1 :(得分:0)

Sub testSave()

Dim SaveToDirectory As String

'just checking string looks good comment or delete when happy
MsgBox ("other text you want " & Cells(18, 6).Value * 100 & "%-" & Format(Cells(13, 13).Value, "Currency"))

'set save directory
SaveToDirectory = "C:\Users\DMASON2\Documents\"

'set file name
ActiveWorkbook.SaveAs Filename:=SaveToDirectory & "FileName-" & Cells(18, 6).Value * 100 & "%-" & Format(Cells(13, 13).Value, "Currency"), FileFormat:=xlWorkbookDefault


End Sub