Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2015, 18:33   #21
Demetros
Форумчанин
 
Регистрация: 28.01.2014
Сообщений: 126
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
видите-ли, уважаемый Demetros
если в С1 было написано =A1+B1+112,
то в С2 должно быть =A2+B2+112
в С3 ...
а если в таблице 147243 строки - это довольно много разных формул
Вы не устанете набирать список формул, которые нужно заменить?

присмотритесь к сообщению #2 в Вашей теме, ответ на Ваш вопрос не там, случайно? Без Sub и End Sub - это 1 строка кода вместо 147243 строк.
Вместо "=A1+B1+112" можно написать что угодно, это я указал как простейший пример.
Я предполагаю что можно таким образом заменять не только формулы точно указанные, но и содержащие определенные функции. только как пока не знаю.

P.S. Я, не программист, я только учусь.
Demetros вне форума Ответить с цитированием
Старый 17.11.2015, 19:05   #22
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Вместо "=A1+B1+112" можно написать что угодно, это я указал как простейший пример
я тоже число возможных строк в Вашем файле 147243 указал как простейший пример, и даже если их немного больше или меньше я просто пытался показать Вам на явную проблему, с которой Вы столкнетесь, пытаясь заменить все формулы на значения даже, когда речь идет о сто сорока семи тысячах двести сорока трех довольно однотипных формул все лишь в одной колонке

а что у Вас за книга и чем она заполнена ни кто здесь, кроме Вас, понятия не имеет!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.11.2015, 19:34   #23
Demetros
Форумчанин
 
Регистрация: 28.01.2014
Сообщений: 126
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Код:
Вместо "=A1+B1+112" можно написать что угодно, это я указал как простейший пример
я тоже число возможных строк в Вашем файле 147243 указал как простейший пример, и даже если их немного больше или меньше я просто пытался показать Вам на явную проблему, с которой Вы столкнетесь, пытаясь заменить все формулы на значения даже, когда речь идет о сто сорока семи тысячах двести сорока трех довольно однотипных формул все лишь в одной колонке

а что у Вас за книга и чем она заполнена ни кто здесь, кроме Вас, понятия не имеет!
Файл выложить не могу из соображений. Колонок много, как и пользователей файла. Лучше кучу времени потратить сразу чем потом за всеми поправлять.
Demetros вне форума Ответить с цитированием
Старый 17.11.2015, 19:41   #24
Demetros
Форумчанин
 
Регистрация: 28.01.2014
Сообщений: 126
По умолчанию

IgorGO, если не трудно подскажите как допилить мой макрос чтобы формула заменялась по некоему списку необходимых к удалению функций.
Demetros вне форума Ответить с цитированием
Старый 17.11.2015, 19:51   #25
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
dim formulas as string
formulas = "=A1+B1+112=формула2=формула3...=последняяформула")
If instr(Formulas, cell.FormulaLocal) > 0 Then cell.Value = cell.Value
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.11.2015, 20:22   #26
Demetros
Форумчанин
 
Регистрация: 28.01.2014
Сообщений: 126
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Код:
dim formulas as string
formulas = "=A1+B1+112=формула2=формула3...=последняяформула")
If instr(Formulas, cell.FormulaLocal) > 0 Then cell.Value = cell.Value
спасибо, работает.
Demetros вне форума Ответить с цитированием
Старый 17.11.2015, 20:24   #27
Demetros
Форумчанин
 
Регистрация: 28.01.2014
Сообщений: 126
По умолчанию

Код:
Sub mjhgjорп()
Dim formulas As String
'удаление указанной формулы с листа
    For Each cell In UsedRange
        formulas = "=A1+B1+112=формула2"
        If InStr(formulas, cell.FormulaLocal) > 0 Then cell.Value = cell.Value
    Next cell
End Sub
весь код. правда не понял как он работает. почему он не удаляет формулы содержащие ссылку на ячейку А1 или В1? знак равенства служит разделителем? "А1+В1" без "+112" удаляет. Почему?

Последний раз редактировалось Demetros; 17.11.2015 в 20:31.
Demetros вне форума Ответить с цитированием
Старый 17.11.2015, 20:32   #28
Demetros
Форумчанин
 
Регистрация: 28.01.2014
Сообщений: 126
По умолчанию

Какое-то определенное количество символов должно совпасть?
Demetros вне форума Ответить с цитированием
Старый 17.11.2015, 20:39   #29
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

instr(Formulas, cell.FormulaLocal) > 0
читай
если текст формулы из ячейки есть в тексте строки с формулами

как считаете последовательность
"А1+В1"
есть в строке
"=A1+B1+112=формула2"

отвечу за Вас, есть, начиная с 2-го символа

заменяйте все вручную это медленнее, но в Вашем случае - надежнее!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.11.2015, 20:47   #30
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Код:
For Each cell In UsedRange
- зачем????
Написал ведь выше как нужно делать... Ну хотя если нет времени на перекур - делайте как знаете
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание пользовательской функции в Excel Аcmrf Microsoft Office Excel 5 29.04.2014 16:09
создание пользовательской функции Devil669 Microsoft Office Excel 1 10.12.2012 23:47
написание пользовательской функции drNabla Microsoft Office Excel 15 05.11.2010 09:08
Составить программу вычисления выражения и выведения полученного результата на экран.тема ФУНКЦИИ. coolbaba Общие вопросы Delphi 1 03.06.2010 03:31
Написание пользовательской функции. GoreProgrammist Microsoft Office Excel 9 15.07.2009 15:28