Pregunta

Estoy intentando guardar el nombre de mis archivos parcialmente en función de los valores de celda en una de mis hojas.Tengo el siguiente código:

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

El problema es que quiero que el título se muestre como un porcentaje y no como un valor, o en algunos casos como una cantidad en dólares y no como un valor.¿Alguien puede explicar cómo hacer esto?

¡Gracias!

¿Fue útil?

Solución

Lo siguiente guardará un archivo con un nombre como "Nombre de archivo-50%-$23.xlsx"

Por ahora estoy asumiendo lo siguiente (por favor comente e infórmeme si me equivoco)

  • Quiere guardar un archivo que tiene abierto (¿documento de Word o hoja de Excel?)
  • Quieres nombrar ese archivo según los valores en F18 y M13
  • Los valores pueden ser porcentajes o un costo en dólares.
  • F18 siempre será un porcentaje y M13 siempre estará en dólares
  • Los valores ingresados ​​en las celdas son solo el valor numérico y las celdas se han formateado en % o moneda.

(Será útil si en el futuro expones tu problema de forma un poco más obvia e incluyes lo que has probado hasta ahora)

    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

Ahora para explicar lo que hice.

En primer lugar, cuando formatea una celda con un valor porcentual e ingresa 0,5, Excel la cambiará automáticamente a 50%; sin embargo, el valor de la celda sigue siendo 0,5, por lo que cuando acceda a ella solo tendrá que realizar el mismo proceso que hace Excel para mostrar un número básico como un porcentaje.

  1. múltiplo por 100 (0,5 se convierte en 50)
  2. Agregue el carácter de porcentaje después del número.

    Sheets("Input").Cells(Row, Column).value * 100 & "%"
    

Ahora la moneda es más simple ya que el valor que ves no cambia, todo lo que necesitas hacer es agregar la moneda Char

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

Ahora vamos a guardar el documento.Como no tengo idea de qué tipo de documento desea guardar, simplemente utilicé guardar el activo como ejemplo.El nombre del archivo es una combinación de la ubicación (saveToDirectory) y el nombre del archivo real que construimos anteriormente.Tenga en cuenta que acabo de llamarlo "nombre de archivo" (puede cambiarlo a una cadena variable o lo que quiera).Finalmente, para los documentos de Excel, tiene varias opciones diferentes al guardar un arranque de trabajo, elegí usar el tipo predeterminado del usuario. Vea los tipos de archivos para guardar documentos de Excel aquí

  ActiveWorkbook.SaveAs Filename:=SaveToDirectory & "FileName-" & Cells(18, 6).Value * 100 & "%-$" & Cells(13, 13).Value, FileFormat:=xlWorkbookDefault

ACTUALIZAR

Encontré una forma muy sencilla de incluir comas en los números de moneda usando Formato.

      Format(value, #,###.##)

o

      Format(value, "Standard")

o (puedes omitir el signo $ de la cadena si usas esta versión)

      Format(value, "Currency") 

Este método también se puede utilizar para los valores de porcentaje (nuevamente puede omitir la cadena de inicio de sesión % con este método)

      Format(Value, "Percent")

Información sobre la función FormatearVer

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top