powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel возвращаемое значение формулы в другую ячейку.
11 сообщений из 11, страница 1 из 1
Excel возвращаемое значение формулы в другую ячейку.
    #39470204
m.medvedb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Как Excel возвращаемое значение формулы поместить в другую ячейку? A1=B1 не подходит! В ячейку будет возвращаться значение типа String, пользователю надо редактировать иногда получаемый результат.
...
Рейтинг: 0 / 0
Excel возвращаемое значение формулы в другую ячейку.
    #39470211
Cursky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m.medvedb,

Значение формулы - никак, можно сделать типа такого:

Код: vbnet
1.
2.
3.
4.
5.
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("ввод")) Is Nothing Then
        Range("вывод").Value = Target.Value * 1.12
    End If
End Sub


Здесь в соседнюю ячейку возвращается значение больше введённого на 12%.
Код макроса помещается в модуль листа
...
Рейтинг: 0 / 0
Excel возвращаемое значение формулы в другую ячейку.
    #39470212
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Специальная вставка - Значения
...
Рейтинг: 0 / 0
Excel возвращаемое значение формулы в другую ячейку.
    #39470290
m.medvedb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cursky,
Спасибо! суть понял.
...
Рейтинг: 0 / 0
Excel возвращаемое значение формулы в другую ячейку.
    #39470319
m.medvedb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
m.medvedb,
Кому интересно, нашел вот такое решение.


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Function КОПИПАСТ(r As Range, t)   
   Application.Volatile   
   With r   
       .Replace IIf(Len(.Value), "*", ""), t   
   End With   
   КОПИПАСТ = ""   
End Function



Пример
=КОПИПАСТ(Номер ячейки куда;Номер ячейки откуда)
...
Рейтинг: 0 / 0
Excel возвращаемое значение формулы в другую ячейку.
    #39470422
vborets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m.medvedbm.medvedb,
=КОПИПАСТ(Номер ячейки куда;Номер ячейки откуда)

Чем отличается от A1=B1 ?
...
Рейтинг: 0 / 0
Excel возвращаемое значение формулы в другую ячейку.
    #39470659
m.medvedb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vborets,

В поле куда копируется только текс. Нет формул
...
Рейтинг: 0 / 0
Excel возвращаемое значение формулы в другую ячейку.
    #39471566
vborets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m.medvedbvborets,

В поле куда копируется только текс. Нет формул

а это
"=КОПИПАСТ(Номер ячейки куда;Номер ячейки откуда) "

не формула?
...
Рейтинг: 0 / 0
Excel возвращаемое значение формулы в другую ячейку.
    #39471614
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vborets,

Вы немного не поняли. это формула. Но она вводится в одну ячейку, а значение изменяется в другой при каждом пересчете этой функции.
Т.е. в ячейку Номер ячейки куда можно вводить значения и вручную(в том числе другие формулы) и изменять из при помощи этой функции. Иными словами саму функцию можно спрятать и она магическим образом будет менять значение указанной ячейки на нужное нам.
...
Рейтинг: 0 / 0
Excel возвращаемое значение формулы в другую ячейку.
    #39471880
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если перетащить любую ячейку на ячейку "откуда", то формула ломается. М.б. более безопасно ссылаться на текстовый адрес ячеек.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Function КОПИПАСТ(r As String, t As String)
   Application.Volatile
   With Range(r)
       .Replace IIf(Len(.Value), "*", ""), Range(t)
   End With
   КОПИПАСТ = ""
End Function


Вызов так =КОПИПАСТ("B1";"A1")
...
Рейтинг: 0 / 0
Excel возвращаемое значение формулы в другую ячейку.
    #39471901
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergeyvg,
sergeyvgВызов так =КОПИПАСТ("B1";"A1")
здесь нюанс есть: замена будет происходить всегда на активном листе, независимо от того где расположена функция и на какие ячейки указывает. При открытой книге с функцией КОПИПАСТ: ввели в любой книге в ячейку А1 значение - в B1 оно само продублировалось. Попробовали вернуть значение в В1 - фигушки, сразу меняется на значение в А1...Оно надо в любой-то книге? :)
Указывать имя листа и книги в адресе как параметра на мой взгляд уже далеко не так удобно, но решит проблему
Код: plaintext
=КОПИПАСТ("[Книга1.xlsm]Лист1!B1";"[Книга1.xlsm]Лист2!A1")
Правда, при переименовании книги/листа придется менять и параметр функции.
Можно application.Caller подключить, но не всегда надо заменять данные именно на том листе(той книги), где сама функция.
Так что в каждом из методов есть как плюсы так и минусы, с которыми придется мириться. И конечно, выбирать способ реализации всегда исходя из ситуации. Когда-то один вариант лучше, когда-то второй.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel возвращаемое значение формулы в другую ячейку.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]