Вопрос

Я пытаюсь сохранить имя моего файла, частично на основе значений ячейки в одном из моих листов.У меня есть следующий код:

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

Проблема в том, что я хочу название отображать в процентах, а не значение, либо некоторые случаи как сумма доллара, а не значение.Может кто-нибудь объяснить, как это сделать?

Спасибо!

Это было полезно?

Решение

Следующее сохранит файл с таким именем, как «Filename-50% - $ 23.xlsx»

На данный момент я предполагаю следующее (пожалуйста, прокомментируйте и сообщите мне, если я ошибаюсь)

    .
  • Вы хотите сохранить файл, который вы открыты (слово 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. Добавить в процентную чар после количества

    Sheets("Input").Cells(Row, Column).value * 100 & "%"
    
  3. Теперь валюта проще, поскольку значение, которое вы видите, не изменится, все, что вам нужно сделать, это добавить в валюту Char

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

    Теперь для сохранения документа. Поскольку я понятия не имею в каком документе, который вы хотели сохранить, я просто использовал сохранение активного в качестве примера. Имя файла представляет собой комбинацию местоположения (SavetoDirectory) и фактического имени имени файла, которое мы построенные выше. Примечание. Я только что назвал это «имя файла» (вы можете изменить это на вариабельную строку или все, что вы хотите). Finaly для документов Excel У вас есть ряд различных вариантов Weens, сохраняющих рабочую силу, я решил использовать тип по умолчанию пользователя. Смотрите типы файлов для сохранения документов 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