Afficher les pourcentages du nom de fichier
Question
J'essaie de sauvegarder le nom de mon (s) fichier (s) partiellement basé sur des valeurs de cellule dans l'une de mes feuilles.J'ai le code suivant:
Sheets("Input").Range("F18").Value & " - " & Sheets("Input").Range("M13").Value
Le problème est que je souhaite que le titre s'affiche comme un pourcentage et non une valeur, ni certains cas en tant que montant en dollars et non une valeur.Quelqu'un peut-il expliquer comment cela?
merci!
La solution
Ce qui suit enregistre un fichier avec un nom tel que "nom de fichier-50% - 23.xlsx"
Pour l'instant, je suppose ce qui suit (veuillez commenter et m'informer si je me trompe)
- Vous souhaitez enregistrer un fichier que vous avez ouvert (mot doc ou feuille Excel?)
- Vous souhaitez nommer ce fichier en fonction des valeurs de F18 et M13
- Les valeurs peuvent être des pourcentages ou un coût en dollars
- F18 sera toujours un pourcentage et M13 sera toujours en dollars Les valeurs
- saisies dans des cellules ne sont que la valeur numérique et les cellules ont été formatées à% ou à la monnaie.
(Cela aidera si, à l'avenir, vous posez votre problème un peu plus évidemment et inclure ce que vous avez essayé jusqu'à présent)
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
Maintenant pour expliquer ce que j'ai fait.
Tout d'abord lorsque vous formatez une cellule à une valeur de pourcentage et entrez dans 0.5 Excel le modifiera automatiquement à 50%, mais la valeur de la cellule est toujours 0.5 Donc, lorsque vous y accédez, il vous suffit de faire le même processus Excel pour afficher une base nombre en pourcentage.
- multiple de 100 (0,5 devient 50)
-
Ajouter dans le pourcentage de charcuterie après le nombre
Sheets("Input").Cells(Row, Column).value * 100 & "%"
Maintenant, la monnaie est plus simple que la valeur que vous voyez ne change pas, tout ce que vous avez à faire est d'ajouter dans la devise Char
"$" & Sheets("Input").Cells(row, column).value
Maintenant pour sauver le document. Comme je n'ai aucune idée de la sorte de document que vous souhaitez enregistrer, je viens d'utiliser en sauver l'actif comme exemple. Le nom de fichier est une combinaison de l'emplacement (sauvetodirectory) et du nom de fichier réel que nous avons construit ci-dessus. NOTE que je viens d'appeler le "nom de fichier" (vous pouvez modifier cela en une chaîne variable ou tout ce que vous voulez). Enfin pour Excel Documents Vous avez un certain nombre d'options différentes quand on peut enregistrer une balancée de travail, j'ai choisi d'utiliser le type par défaut des utilisateurs. Voir Types de fichiers pour sauvegarder Excel Docs ici < / a>
ActiveWorkbook.SaveAs Filename:=SaveToDirectory & "FileName-" & Cells(18, 6).Value * 100 & "%-$" & Cells(13, 13).Value, FileFormat:=xlWorkbookDefault
Format(value, #,###.##)
Format(value, "Standard")
ou (vous pouvez omettre le signe $ de la chaîne si vous utilisez cette version)
Format(value, "Currency")
Format(Value, "Percent")