Задача в следующем: в ячейке есть длиннющая формула, которая собирает данные по всем, листам, преобразует русский в транслит и заменяет некоторые символы. Результат бывает некорректным, либо слишком длинным, либо по другим причинам не нравится пользователю. Нужно сделать так, чтоб можно было отредактировать результат работы формулы, а не саму формулу. То есть аналогично "Специальная вставка - Вставить только значения", но без лишних движений мыши, а формулами либо скриптами. С ног сбился, искавши. Всем спасибо за содействие.
Задача в следующем: в ячейке есть длиннющая формула, которая собирает данные по всем, листам, преобразует русский в транслит и заменяет некоторые символы. Результат бывает некорректным, либо слишком длинным, либо по другим причинам не нравится пользователю. Нужно сделать так, чтоб можно было отредактировать результат работы формулы, а не саму формулу. То есть аналогично "Специальная вставка - Вставить только значения", но без лишних движений мыши, а формулами либо скриптами. С ног сбился, искавши. Всем спасибо за содействие.static
формула составляет имя файла на печать из части даты, имени заказчика, номера заявки и имени каждого макета. там может быть куча грамматических ошибок, имя файла может состоять из 50 букв, поэтому его необходимо править руками
формула составляет имя файла на печать из части даты, имени заказчика, номера заявки и имени каждого макета. там может быть куча грамматических ошибок, имя файла может состоять из 50 букв, поэтому его необходимо править рукамиstatic
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Selection.Value = Selection.Value End Sub
[/vba]
Либо так: [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Selection If .Address = [a1].Address Then .Value = .Value End If end with End Sub
[/vba]
Или так: [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) With Selection If .Address = [a1].Address Then .Value = .Value End If End with End Sub
[/vba]
Вместо А1 подставьте адрес вашей ячейки.
В модуль листа. [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Selection.Value = Selection.Value End Sub
[/vba]
Либо так: [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Selection If .Address = [a1].Address Then .Value = .Value End If end with End Sub
[/vba]
Или так: [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) With Selection If .Address = [a1].Address Then .Value = .Value End If End with End Sub
Дата: Понедельник, 05.08.2013, 09:10 |
Сообщение № 6
Группа: Гости
я, признаться, затрудняюсь придумать в чем проблема, но сегодня этот метод не работает) в пятницу работал, а сегодня в том же документе не хочет..
я, признаться, затрудняюсь придумать в чем проблема, но сегодня этот метод не работает) в пятницу работал, а сегодня в том же документе не хочет..static