我正在尝试根据我的一张表中的单元格值来保存我的文件的名称。我有以下代码:

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

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

谢谢!

有帮助吗?

解决方案

下面的名称将保存一个文件,例如“filename-50% - $ 23.xlsx”

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

  • 要保存您打开的文件(Word Doc或Excel表?)
  • 您想要根据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. 在数字后的百分比char中添加

    Sheets("Input").Cells(Row, Column).value * 100 & "%"
    
  3. 现在货币更简单,因为您看到的值不改变,您需要做的就是添加到货币char

       "$" & Sheets("Input").Cells(row, column).value
    
    .

    现在用于保存该文档。正如我不知道您希望保存的文档,我刚刚使用保存活动的文档作为示例。文件名是位置(SavEtodirectory)的组合和我们上面构建的实际文件名。注意我刚刚称之为“filename”(您可以将其更改为变量字符串或您想要的任何内容)。 Findel for Excel文档您有许多不同的选项Shens保存WorkBoot,我选择使用用户默认类型。 请参阅这里保存Excel文档的文件类型< / a>

      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")
    
    .

    格式函数的信息

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top