Форматировать число как процент (x100) без символа %

Форматировать число как процент (x100) без символа %

Это противоположно вопросуФормат числа в Excel: отображение % значения без умножения на 100.

У меня есть данные в формате, где, например, ячейка, исходное содержимое которой равно 0,75, «означает» 75%. Я настраиваю процесс передачи таких данных в другую программу (Adobe Illustrator), которая дает сбой, если числа содержат любой символ (даже %).

Я бы хотел это сделатьбез каких-либо изменений всодержаниеили структура листа, то есть никаких новых столбцов и никаких изменений в базовых данных. Очевидно, что без этого ограничения добавление столбца с формулой типа =A1*100было бы очень простым. Я хочу избежать этого, потому что эти листы сложны, они поддерживаются другой командой, а не тем человеком, который выполняет этот процесс, и я не хочу, чтобы человек, который выполняет этот процесс, менял фактическое содержимое листа за пределами легко обратимого изменения представления, например, нового числового формата.

Существует ли какой-либо числовой формат или подобная модификация уровня представления, которая позволит мне взять данные, хранящиеся в формате , 0.75, 0.5, 0.25и скопировать и вставить их в другое приложение, например 75, 50, 25?


Волшебный числовой формат «Процент», который умножается на 100, по-видимому, указан в пользовательских форматах как 0.00%, но простое удаление %также удаляет умножение.


я нашелблог (Chandoo), который предлагаетиспользую формат типа #,#.#[ctrl-J], %чтобы скрыть знак процента под новой строкой, но это не работает для меня, так как мне нужен чистый вывод для приложения, в которое мои пользователи будут копировать и вставлять вывод.

решение1

Вы можете использовать этот макрос для выполнения работы. Но сначала вы должны добавить ссылку на библиотеку Microsoft Forms 2.0. Нажмите Alt+F11, чтобы открыть редактор Visual Basic, затем нажмите Tools >> References... Прокрутите вниз, пока не увидите Microsoft Forms 2.0 Object Libraryи не установите флажок рядом с ним, затем нажмите OK. Если вы его не видите (они перечислены в алфавитном порядке), вам нужно будет добавить его через dll. Нажмите Browse... и найдите и добавьте C:\Windows\System32\FM20.DLL.

Использование: выберите диапазон (можно выбрать весь столбец) и вызовите макрос любым удобным для пользователя способом. После запуска макроса данные будут в буфере обмена. Вы можете создать кнопку, назначить горячую клавишу или вручную запустить его через ленту. Я предполагаю, что все значения вычисляются с помощью формул и что нет никаких пустых ячеек. Он вообще не изменяет рабочую книгу, поэтому если ваш пользователь ошибется и выберет неправильный столбец, это никак не повлияет на ваши данные.

Option Explicit

Public Sub CopyPercentAsWholeNumber()

Dim Arr() As Variant
ReDim Arr(1 To Selection.SpecialCells(xlCellTypeFormulas).Count)

Dim i As Long
With Selection
    For i = 1 To UBound(Arr)
        Arr(i) = .Cells(i).Value * 100
    Next i
End With

Dim S As String
Dim objText As New MSForms.DataObject
S = Join(Arr, vbCrLf) & vbNewLine
objText.SetText S
objText.PutInClipboard

End Sub

решение2

Быстрая починка

Выделите ваши числа. Перейдите в пользовательские форматы, введите 0.00, затем ctrl+j в том же бите, а затем введите знак процента. Затем перейдите в выравнивание и нажмите «перенести текст». Нажмите ok

Это скроет знак %, но позволит вам изменить имя столбца на используемые вами единицы измерения.

Связанный контент