我试图部分地根据我的一张纸张中的单元格值保存文件的名称。我有以下代码:
Sheets("Input").Range("F18").Value & " - " & Sheets("Input").Range("M13").Value
问题是我希望标题显示为百分比而不是值,或者某些情况显示为美元金额而不是值。有人可以解释一下这个吗?
谢谢!
答案 0 :(得分:0)
以下将保存名称为“Filename-50% - $ 23.xlsx”的文件
现在我假设以下(如果我错了,请评论并通知我)
(如果您将来更明显地解决问题并包括您迄今为止所尝试的内容,将会有所帮助)
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, "#,###.##"))
'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, "#,#*.##"), FileFormat:=xlWorkbookDefault
End Sub
现在解释一下我做了什么。
首先,当您将单元格格式化为百分比值并输入0.5 excel时会自动将其更改为50%,但单元格值仍为0.5,因此当您访问它时,您只需执行相同的过程,即excel显示基本值数字百分比。
在数字后加上百分比字符
Sheets("Input").Cells(Row, Column).value * 100 & "%"
现在货币更简单,因为您看到的价值不会改变,您需要做的就是添加货币Char
"$" & Sheets("Input").Cells(row, column).value
现在保存文档。由于我不知道您希望保存哪种文档,我只是使用保存活动文档作为示例。文件名是位置(saveToDirectory)和我们在上面构建的实际文件名的组合。注意我刚刚将其称为“文件名”(您可以将其更改为变量字符串或任何您想要的)。最后,对于excel文档,你有许多不同的选项可以保存workboot,我选择使用用户默认类型。 See file types for saving excel docs here
ActiveWorkbook.SaveAs Filename:=SaveToDirectory & "FileName-" & Cells(18, 6).Value * 100 & "%-$" & Cells(13, 13).Value, FileFormat:=xlWorkbookDefault
<强>更新强>
我找到了一种使用格式
在货币编号中包含逗号的简单方法 Format(value, #,###.##)
或
Format(value, "Standard")
或(如果使用此版本,可以省略字符串中的$符号)
Format(value, "Currency")
此方法也可用于百分比值(同样可以使用此方法省略字符串中的%符号)
Format(Value, "Percent")