Domanda

Sto cercando di salvare il nome dei miei file parzialmente in base ai valori delle celle in uno dei miei fogli.Ho il codice seguente:

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

Il problema è che voglio che il titolo venga visualizzato come percentuale e non come valore, o in alcuni casi come importo in dollari e non come valore.Qualcuno può spiegare come farlo?

Grazie!

È stato utile?

Soluzione

Quanto segue salverà un file con un nome come "Nome file-50%-$23.xlsx"

Per ora presumo quanto segue (per favore commenta e informami se sbaglio)

  • Vuoi salvare un file che hai aperto (word doc o foglio excel?)
  • Vuoi nominare quel file in base ai valori in F18 e M13
  • I valori possono essere percentuali o un costo in dollari
  • F18 sarà sempre una percentuale e M13 sarà sempre in dollari
  • I valori immessi nelle celle sono solo valori numerici e le celle sono state formattate in% o valuta.

(Sarà utile se in futuro esponi il tuo problema in modo un po' più evidente e includi ciò che hai provato finora)

    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

Ora spiego cosa ho fatto.

Innanzitutto quando formatti una cella in un valore percentuale e inserisci 0,5, Excel lo cambierà automaticamente al 50%, tuttavia il valore della cella è ancora 0,5, quindi quando accedi devi solo fare lo stesso processo di Excel per visualizzare un numero di base come percentuale.

  1. multiplo per 100 (0,5 diventa 50)
  2. Aggiungi il carattere percentuale dopo il numero

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

Ora la valuta è più semplice poiché il valore che vedi non cambia, tutto ciò che devi fare è aggiungere la valuta Char

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

Ora per salvare il documento.Poiché non ho idea del tipo di documento che desideri salvare, ho utilizzato come esempio il salvataggio di quello attivo.Il nome file è una combinazione della posizione (saveToDirectory) e del nome file effettivo creato sopra.Nota che l'ho appena chiamato "nome file" (puoi cambiarlo in una stringa variabile o qualsiasi cosa tu voglia).Infine, per i documenti Excel hai una serie di opzioni diverse quando salvi un workboot, ho scelto di utilizzare il tipo predefinito dell'utente. Vedi i tipi di file per salvare i documenti Excel qui

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

AGGIORNAMENTO

Ho trovato un modo molto semplice per includere virgole nei numeri di valuta utilizzando Format

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

O

      Format(value, "Standard")

oppure (puoi omettere il segno $ dalla stringa se usi questa versione)

      Format(value, "Currency") 

Questo metodo può essere utilizzato anche per i valori percentuali (anche in questo caso puoi omettere la stringa di accesso% con questo metodo)

      Format(Value, "Percent")

Informazioni sulla funzione FormatoVedere

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top