Страницы: 1
RSS
Замена апострофа (') Excel
 
Результатом работы программы является файл Excel. Содержимое некоторых ячеек, которого имеют вид подбного рода:  
'=250*560  
'652  
'=450*40  
и т.д.  
Всё, что находится за апострофом воспринимается, как текст, а мне надо чтобы воспринималось, как число или выражение  
=250*560  
652  
=450*40  
и т.д.  
Пробывал через замену. Ставил найти ' заменить на ничего. Пишет, что апострофа не нашёл.  
Вопрос такой: как удалить (не вручную, а через замену или как-то подругому за один раз и всё сразу) апострофы из ячеек документа?
 
Читайте здесь:   
http://www.planetaexcel.ru/forum.php?thread_id=21626
 
=ПОДСТАВИТЬ(  - F1 (HELP)
 
ПОДСТАВИТЬ() в этом случае - что мертвому припарка :)  
Не верь глазам своим. Это не апостроф (хотя в других случаях себя таковым считает) - поставленный первым знаком в строке, чудесным образом превращается в служебный знак.
 
{quote}{login=vikttur}{date=08.05.2012 09:13}{thema=}{post}ПОДСТАВИТЬ() в этом случае - что мертвому припарка :){/post}{/quote}  
Вить, я ведь уже дал ссылку...
 
Так аноним все равно настаивает :)
 
Так что всё таки делать? Сделать через функцию пользователя(UDF). Так это ещё разбиратся надо (может кто-нибудь анимацию скинет). И тут http://www.excel-vba.ru/chto-umeet-excel/chto-takoe-funkciya-polzovatelyaudf/ вроде написано, что функция пользователя не может изменять значения других ячеек (а мне как раз это и надо). Неужели нет какого то простого способа решения, не погружаясь в програмирование на VBA.
 
Гы) Есть. Самое простое, без формул и без ВБА. Руками. Если неохота работать головой...
Я сам - дурнее всякого примера! ...
 
без VBA способа не знаю :(  
 
можно в любой стандартный модуль вставить такой макрос:  
 
Sub tst()  
 Dim c As Range  
 For Each c In ActiveSheet.UsedRange.Cells  
   If c.PrefixCharacter = "'" Then c.Value = c.Text  
 Next  
End Sub  
 
далее на любом листе нажимаем Alt+F8, из списка макросов выбираем tst, жмём "Выполнить".
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Не выходит.  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
 
Ссылка на удалённый файл:  
http://forum.dwg.ru/attachment.php?attachmentid=79830&d=1336478749
 
Забирайте (Report.xlsx), без "мультиков": из XL в Access (поле первое текст)- из Access в XL... ;) Как вариант, разумеется... -83154-
 
Склероз, блин - самую экзотику запамятывал: берем копируем "0" и спецвставка по выделенному в "А" - сложить... ;) Однако, работает - XL-2010... -81058-
 
Однако в моем 2010 с апострофом это не работает
 
Смысл спецвставки в том, что вставляются форматы. Можно так:  
1. Выделить обычную пустую ячейку, скопировать. Выделить все, спец. вставка - форматы.  
2. Ctrl+H, заменить "=" на "=".
 
{quote}{login=Михаил С.}{date=08.05.2012 05:32}{thema=Z}{post}Однако в моем 2010 с апострофом это не работает{/post}{/quote}  
Однако в моем - SP1 RU на XP SP3 - работает... В XL разделитель ".", но если и в данных поменять "," на "." - працуе... Барабашка, не иначе... ;) -54768-
 
{quote}{login=Казанский}{date=08.05.2012 05:36}{thema=}{post}Смысл спецвставки в том, что вставляются форматы.{/post}{/quote}  
Спасибо помогло. Только я б добавил.  
После пункта два заработали выражения, но остались ячейки в которых пишет что ошибка (число сохранено как текст).  
Поэтому необходимо сделать ещё замены типа "0" на "0", "1" на "1" и т.д. до "9" на "9" и тогда всё заработало. Вот если бы на эти операции (с пункта 1 и до замены "9" на "9" макрос бы написал, был бы очень признателен.
 
Это - "Вот если бы на эти операции (с пункта 1 и до замены "9" на "9" макрос бы написал" - заказ на макрос?!.
 
Для замены чисел, записанных как текст, как раз помогает спец. вставка - сложение с пустой ячейкой (или содержащей 0).
Страницы: 1
Читают тему
Loading...