Скопированный текст в формате "TEXT" в Excel без апострофа

Скопированный текст в формате "TEXT" в Excel без апострофа
Скопированный текст в формате "TEXT" в Excel без апострофа - nate_dumlao @ Unsplash

Excel, существует формула для преобразования заданного значения в текст:

=TEXT(<number value>,"#")

Итак, для заданных трех чисел 4320 9876523615862870 10000 необходимо использовать следующую последовательность:

=TEXT(4320,"#") =TEXT(9876523615862870,"#") =TEXT(10000,"#")

Это надежно приводит к появлению трех ячеек, слева направо, с тремя числами.

Исходная строка кода должна быть изменена следующим образом:

exportList += `\n=TEXT(${trc},"#")\t=TEXT(${tacc},"#")\t=TEXT(${tamt},"#")`;

Это причуда! При вставке в Excel, похоже, формулу нужно вставлять в ячейки, отформатированные как "Общие", или то, что стоит по умолчанию. Если вы вставляете в ячейку, уже отформатированную как текст, вы просто получите формулу, которая не будет работать.

Единственный способ - подготовить лист перед вставкой - изменить формат ячеек, которые этого требуют.

Также вы можете автоматизировать этот процесс (изменение формата ячеек) с помощью сценария Excel.

К сожалению, другим способом является импорт файла csv через опцию импорта Excel, где вы можете установить тип данных для каждого столбца. Но это занимает некоторое время, которого вы хотите избежать.

Вариант - сделать скрипт, который будет создавать готовый файл Excel из заданных данных.

Принятый ответ не решит проблему.

«Длинный номер» состоит из 16 цифр. Excel импортирует его как число, если импорт выполняется с помощью Вставить. Excel может поддерживать только 15 значащих цифр в числе, поэтому он отрезает последнюю цифру и заменяет ее нулем. Постоянно.

Это ЭТО и это ТО для такого импорта. Excel не предлагает НИЧЕГО другого.

Даже макрос VBA OnEvent должен разрешить завершение вставки, а затем сработать, чтобы он не мог перехватить вставку, чтобы он не мог постоянно препятствовать работе Excel, и ничто не могло ее восстановить.

Чтобы выполнить вставку как операцию вставки пользователем, вам нужно создать макрос, чтобы сделать что-то вроде кнопки для этих вставок, выбрать ячейку, в которую вы хотите ее вставить, а затем нажать эту кнопку. Макрос будет читать буфер обмена Windows и брать содержимое, разбивать его на три набора содержимого, а затем вставлять их в ячейки, в которые они входят, основываясь на том, что выбранная ячейка является, скажем, самой левой из трех. Он может вставить три части как число, строку, а затем число. Таким образом, 16-значный «длинный номер» может оставаться полным.

И точно.

Или можно остановить вставку и использовать мастер Data|Import (используя импорт Fixed Width, чтобы иметь возможность заставить Excel импортировать этот «столбец» как текст) после поиска его глубоко в системе меню ленты или с помощью Power Query в каким-то образом.

Я понимаю прекрасную программу, которую вы написали IS STAYING, но вы, безусловно, можете изменить ее процедуру вывода, чтобы заставить «длинное число» помещаться в нее в виде текста. Excel примет это во внимание и вставит значение в виде текстовой ячейки с полной строкой в ​​ней.

Сообщение в том, что на этом нет Easy Way Out. Вы написали программу, и я приветствую это, поскольку я не писал программы с 1977 года, а технически это все равно не было бы чем-то, что современные люди назвали бы программой. Единственный «настоящий», который я когда-либо писал, был на перфокартах и ​​запускался на мейнфрейме, к которому Вест-Пойнт имел доступ. (Все еще есть эти три фута перфокарт.) Так что я не программист, а вы. Хороший человек! Вы написали это на лету, кажется, без надлежащего полного исследования того, что требовалось. Я сочувствую тебе здесь. Но пришло время исправить проблему, которая делает его бесполезным. Небольшое исправление, и тогда это может быть все, что вы хотите. И бог среди людей в вашем офисе. Упирайтесь ногами и в конечном итоге настаивайте на том, чтобы пользователи делали длительные и трудные вещи, чтобы использовать его, и заставляйте их использовать его, несмотря ни на что, и среди мужчин вы будете считаться кем-то другим.

Пусть они используют принятый ответ, отрезая последний символ, пока не произойдет что-то неприятное с любыми решениями, которым помогают эти данные, и вы даже можете оказаться «совершенно другим... среди безработных».

(Кстати, если вам нужно только 15 цифр, измените свою программу так, чтобы она выводила только 15 цифр, и все проблемы исчезнут. Ну, до тех пор, пока вы не столкнетесь со странностью с вставкой Excel, которая зависит от того, как именно она вставляет выбранные в данный момент разделители в его Data|Import мастер (в его искалеченной форме Text To Columns они меняются, а затем начинают влиять на вставку исходных данных такого типа ... странно, а?), и весь текущий подход ломается, пока вы не вспомните этот абзац и не заставите пользователей исправлять вещи (когда они на самом деле не сломаны, а просто используются).)

Как и в большинстве вещей в Excel, замечательно то, что это ПОЛНОСТЬЮ ВАШ ВЫБОР.

Рекомендую посмотреть эти видео для лучшего погружения в вопрос:

Прикрепленное видео 1 - Что делать, если копируемый из Интернета текст не выравнивается по ширине

Прикрепленное видео 2 - Как текст Word преобразовать в таблицу


NevaDev, 2 февраля 2023 г., 05:31