Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Замена начального символа (=) в формуле - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Замена начального символа (=) в формуле (Макросы/Sub)
Замена начального символа (=) в формуле
mick-77 Дата: Четверг, 12.05.2016, 12:14 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день всем присутствующим!

Столкнулся со следующей проблемой.
Не могу поменять через макрос начало формулы "уЕСЛИ..." на "=ЕСЛИ...", чтобы формула заработала. Посредством Ctrl+H всё прекрасно работает, но, даже записав через рекодер, с помощью макроса замена не происходит.
Должно быть, какая-то хитрость в настройках, не позволяющая производить замены в сложных формулах.
У меня просто большущий объём таких формул по разным книгам - уже невозможно что-то назад откатить... Да и, честно сказать, любопытство появилось вокруг этого секрета.

Позвольте спросить, есть ли возможность что-то добавить в макросе, дабы обойти этот "запрет" замены, или остаётся только вручную через Ctrl+H?

Спасибо.
К сообщению приложен файл: 2757689.xlsm(31Kb)
 
Ответить
СообщениеДобрый день всем присутствующим!

Столкнулся со следующей проблемой.
Не могу поменять через макрос начало формулы "уЕСЛИ..." на "=ЕСЛИ...", чтобы формула заработала. Посредством Ctrl+H всё прекрасно работает, но, даже записав через рекодер, с помощью макроса замена не происходит.
Должно быть, какая-то хитрость в настройках, не позволяющая производить замены в сложных формулах.
У меня просто большущий объём таких формул по разным книгам - уже невозможно что-то назад откатить... Да и, честно сказать, любопытство появилось вокруг этого секрета.

Позвольте спросить, есть ли возможность что-то добавить в макросе, дабы обойти этот "запрет" замены, или остаётся только вручную через Ctrl+H?

Спасибо.

Автор - mick-77
Дата добавления - 12.05.2016 в 12:14
_Boroda_ Дата: Четверг, 12.05.2016, 12:26 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9352
Репутация: 3924 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Попробуйте вот так
[vba]
Код
Sub Макрос1()
    Columns("I:I").Replace What:="у", Replacement:="'=", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Columns("I:I").FormulaLocal = Columns("I:I").FormulaLocal
    ActiveSheet.UsedRange
End Sub
[/vba]

Добавлено.
Кстати, столбец целиком подтормаживает. Лучше все-таки работать с конкретным диапазоном.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995


Сообщение отредактировал _Boroda_ - Четверг, 12.05.2016, 17:23
 
Ответить
СообщениеПопробуйте вот так
[vba]
Код
Sub Макрос1()
    Columns("I:I").Replace What:="у", Replacement:="'=", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Columns("I:I").FormulaLocal = Columns("I:I").FormulaLocal
    ActiveSheet.UsedRange
End Sub
[/vba]

Добавлено.
Кстати, столбец целиком подтормаживает. Лучше все-таки работать с конкретным диапазоном.

Автор - _Boroda_
Дата добавления - 12.05.2016 в 12:26
mick-77 Дата: Четверг, 12.05.2016, 17:24 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Вот что значит незначительный штрих от маэстро!..
Груда бесполезного текста превращается в оркестр слаженных формул!

Спасибо, Александр, за помощь! Здоровья Вам и долголетия!

И я тогда добавлю.
У меня, правда, не тормозит, а вылетает (out of memory) - я указываю менять сразу в 50-ти столбцах (диапазоны на каждом листе разные). Но для себя нашёл выход - указываю макросам менять по 10 столбцов - работает!
Для меня это - мелочи. Вы сделали главное!
Ещё раз благодарю Вас!


Сообщение отредактировал mick-77 - Четверг, 12.05.2016, 17:30
 
Ответить
СообщениеВот что значит незначительный штрих от маэстро!..
Груда бесполезного текста превращается в оркестр слаженных формул!

Спасибо, Александр, за помощь! Здоровья Вам и долголетия!

И я тогда добавлю.
У меня, правда, не тормозит, а вылетает (out of memory) - я указываю менять сразу в 50-ти столбцах (диапазоны на каждом листе разные). Но для себя нашёл выход - указываю макросам менять по 10 столбцов - работает!
Для меня это - мелочи. Вы сделали главное!
Ещё раз благодарю Вас!

Автор - mick-77
Дата добавления - 12.05.2016 в 17:24
RAN Дата: Четверг, 12.05.2016, 19:40 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4277
Репутация: 829 ±
Замечаний: 0% ±

2010
С полным столбцом макрос из #2 работае 32 сек, а мяукает за 2,7 :)
[vba]
Код
Sub Мяу()
    Dim r As Range
    Dim fr$
    Dim t!: t = Timer
    Set r = Range("I:I").SpecialCells(2)
    fr = r(1).Value
    Mid(fr, 1, 1) = "="
    r(1).FormulaLocal = fr
    fr = r(1).FormulaR1C1
    r.Value = fr
    Debug.Print "t=  " & Format(Timer - t, "0.0000")
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеС полным столбцом макрос из #2 работае 32 сек, а мяукает за 2,7 :)
[vba]
Код
Sub Мяу()
    Dim r As Range
    Dim fr$
    Dim t!: t = Timer
    Set r = Range("I:I").SpecialCells(2)
    fr = r(1).Value
    Mid(fr, 1, 1) = "="
    r(1).FormulaLocal = fr
    fr = r(1).FormulaR1C1
    r.Value = fr
    Debug.Print "t=  " & Format(Timer - t, "0.0000")
End Sub
[/vba]

Автор - RAN
Дата добавления - 12.05.2016 в 19:40
mick-77 Дата: Четверг, 12.05.2016, 20:50 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Воистину, чемпионская гонка!
Спасибо, Андрей, за рационализаторское предложение!
 
Ответить
СообщениеВоистину, чемпионская гонка!
Спасибо, Андрей, за рационализаторское предложение!

Автор - mick-77
Дата добавления - 12.05.2016 в 20:50
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Замена начального символа (=) в формуле (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!