显示文件名中的百分比

时间:2014-06-05 09:16:46

标签: excel-vba vba excel

我试图部分地根据我的一张纸张中的单元格值保存文件的名称。我有以下代码:

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

问题是我希望标题显示为百分比而不是值,或者某些情况显示为美元金额而不是值。有人可以解释一下这个吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

以下将保存名称为“Filename-50% - $ 23.xlsx”的文件

现在我假设以下(如果我错了,请评论并通知我)

  • 您想要保存已打开的文件(word doc或excel sheet?)
  • 您想根据F18和M13
  • 中的值命名该文件
  • 价值可以是百分比,也可以是美元成本
  • F18将始终为百分比,而M13将始终为美元
  • 输入到单元格中的值只是数值,单元格已格式化为%或货币。

(如果您将来更明显地解决问题并包括您迄今为止所尝试的内容,将会有所帮助)

    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显示基本值数字百分比。

  1. 倍数100(0.5变为50)
  2. 在数字后加上百分比字符

    Sheets("Input").Cells(Row, Column).value * 100 & "%"
    
  3. 现在货币更简单,因为您看到的价值不会改变,您需要做的就是添加货币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")
    

    Information on Format function

相关问题