Страницы: 1
RSS
Пользователсая функция на заменить в формуле
 
Люди! Я знаю это возможно но сама не могу.  
Помогите пожалуйста создать пользовательскую формула, которая заменяет в формуле один текст на другой текст и выдает результат этой замены.  
Подробный описательный пример я привела в файле - примере.
Работать надо не 12 часов, а головой.
 
существует несколько вариантов (зависит от того, как звучит исходная задача)  
 
- использовать функцию ДВССЫЛ, и тогда только в одной ячейке столбца нужно указывать, олд или нью...  
=ВПР($A2;ДВССЫЛ(C$1&"!$A:$B");2;0) - формула для С2  
 
- если нужно сделать один раз, то проще использовать правка - заменить
 
Это очень прикольная и интересная возможность знания о которой мне очень пригодятся. Спасибо T@nd@  
 
Для текущей задачи мне нужна именно пользовательская формула созданная через VBA,  
Потому что нужен именно текст, значение выдаваемое формулой, я вручную буду копировать и заменять на то место, где была старая формула в примере это в ячейку С2  
 
Можно такую сделать?
Работать надо не 12 часов, а головой.
 
Люди, ну помогите!
Работать надо не 12 часов, а головой.
 
Народ, неужели никто не поможет?  
 
Как вообще в переменную выдать формулу из ячейки, а не значение, которое она возвращает? range("C1").text и range("C1").value - выдают значение, которое возвращается ячейкой. Как выудить саму формулу?
 
насчет формулы:  
Worksheets("Sheet1").Range("A1").Formula = "=$A$4+$A$10"
 
допустим хочешь чтоб в ячейку вставлялась формула:  
ActiveWorkbook.Sheets("List12").Range("A5").Formula = "=((B3-1.5)*A28*A29)/(((F3+273)*A30*E3)^0.5)"
 
North_Rain наоборот, в ячейке С1 есть формула "=A1+B1",  
есть переменная пусть её имя будет iFormula$ - в неё надо ввести формулу, которая в Ячейке С1 "=A1+B1",  
например если бы мне нужно было значение, я бы написала  
iFormula = range("C1").text но мне необходима именно сама формула "=A1+B1".  
Знает кто?
 
iFormula$ =range("C1").formula  
так не прокатывает? набери справку по этой команде F1 . может там что нить. а то я сам пару раз испоьзовал таку вставку. может и неправильно быть.
 
вот так??  
Sub sdf()  
Dim a As String  
a = Range("A3").Formula  
MsgBox a  
 
End Sub
 
Да! оно, спасибо.
 
Может, кто подскажет, как пользовательскую формулу сделать по теме топика?
 
че то у меня в опере, ваша тема с моим ником все сообщения вылезли:)): прикольно:)
 
Неужели безнадега?
 
Ну да. Мне кажется что Вы неправильно выбрали метод решения задачи. Зачем Вам измененная формула? Не проще скопировать старую , а потом сделать замену по "ctrl+H". Или как вариант "правка-связи" если ссылки на другую книгу.
 
Function ФормулаЗаменить()  
   iC2 = Range("C2").FormulaLocal  
   iB1 = Range("B1").FormulaLocal  
   iC1 = Range("C1").FormulaLocal  
   MyStr = Replace(iC2, iB1, iC1)  
   ФормулаЗаменить = "" & MyStr & ""  
End Function
At odd moments: VBA, VB6, VB.NET, Java, Java for Android, Java Script, Action Script, Windows Scriping Host
Страницы: 1
Читают тему
Наверх