Страницы: 1
RSS
Как скопировать текст (text) не значение (not value) в другую ячейку? Или как сохранить ведущие нули, образованные форматом, при копировании в виде текста.
 
Добрый день!
Может кто-то сталкивался с такой задачей?
Есть необходимость скопировать из ячейки данные в виде текста.
Для понимания приведу пример: в  ячейке есть код (некий идентификатор), который сохранён в виде 0012345, но само значение (value) 12345, ведущие нули дописаны форматом ячейки ("0000000"). Соответственно, копируя ячейку и вставляя её только "значения" в ячейку в формате текст, вставляется только 12345.
Задача скопировать данные вместе с ведущими нулями, но без формата, в виде текста. То есть можно было бы копировать макросом Range("A1").Text. Но нужно сделать это без макроса и не формулами (вроде =ТЕКСТ(A1;"0000000")).
То есть как сделать это средствами только интерфейса Excel, не прибегая к помощи макросов или формул?
 
Цитата
Илья написал:
без макроса и не формулами
руками только тогда переписывать.
И есть еще не только через Excel: копируете ячейки, вставляете в блокнот - копируете из блокнота - вставляете обратно в Excel как текст, назначив заранее ячейкам формат текстовый.
Тоже самое можно не с блокнотом, а в Word-е.
Изменено: Дмитрий(The_Prist) Щербаков - 24.01.2023 10:44:20
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, спасибо!
Так тоже пробовали. Вариант вполне рабочий.
Но всё же хотелось бы не переключаться в другие приложения.
 
без макросов, без формул, без сторонних приложений....
ставите ячейке формат текстовый, смотрите глазами в ячейку-источник, набираете руками подсмотренный текст
результат получен стандартными средствами Excel)  
Изменено: Ігор Гончаренко - 24.01.2023 11:50:17
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, спасибо, но такой вариант не подходит :)

Вот что ещё пока получилось узнать: у коллеги при копировании (Ctrl+C) такой ячейки с форматированием, и вставке в другой книге по сочетанию клавиш Ctrl+Alt+V (обычно это специальная вставка), вставляется как надо, то есть в ячейку в текстовом формате вставляется значение как текст исходной ячейки с учётом формата, то есть 0012345. При этом сочетание клавиш Ctrl+Alt+V не вызывает стандартное окно специальной вставки с выбором вариантов (все, формулы, значения,...) . Попробовали записать макрорекордером, что же он (Excel) делает при таком копировании. Получилось вот это:

Sub Макрос1()

'

' Макрос1 Макрос

'

'

   Selection.Copy

   Windows("1.xlsx").Activate

   Range("W8").Select

   Application.CutCopyMode = False

   ActiveSheet.Paste

End Sub

Но как такое возможно? Судя по записанному макросу, он сначала отменил выделение копирования и по идее очистил буфер копирования (или нет?), но при при этом вставил в ячейку то, что нужно.
Непонятно.

Ещё была мысль как-то заставить Excel считать, что копирование происходит из другого приложения. Тогда по сочетанию клавиш Ctrl+Alt+V он выводит другое диалоговое окно, в котором предлагает выбрать формат вставки (HTML, Текст в кодировке Unicode, Текст). Как заставить Excel выводить такое окно? Может кто знает?
 
Цитата
Илья написал:
как такое возможно?
очень просто - каждая из книг открыта в своем экземпляре приложения. Т.е. обе эти книги никак не связаны буфером обмена Excel и между собой могут использовать только буфер обмена ОС. Но по сути - это тоже как бы использование другого приложения - ведь должны быть обязательно открыты две разные книги и каждая в своем экземпляре.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Читают тему
Наверх