Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Про перенос текста в ячейке с формулой

Автор brico, 07.11.2008, 18:17

« назад - далее »

brico

У меня большая таблица. Часть данных в ней стыкуется с другим файлом. Поэтому у меня через формулу происходит автоматические обновление содержимого. Т.е. например я выбираю в списке название фирмы и в другие ячейки автоматом вставляются Контакты, адреса. Проблема в том что размер вставляемого текста больше чем ячейки. При нажатии на ячейке естественно отображается формула, а не сам текст. Увиличить ячейку нельзя да и смысла нет. Форматирование с переносом и другие виды тоже не работают. Как тут быть? Возможно ли как то чтобы значение ячейки (не формула, а получившийся текст) при нажатии на ячейку отображался (типа как в примечаниях)??

Шпец Докапыч

Цитата: brico от 07.11.2008, 18:17
Возможно ли как-то, чтобы значение ячейки (не формула, а получившийся текст) при нажатии на ячейку отображался (типа как в примечаниях)??

Поздравляю, ваша тема по счёту 911-ая, поэтому обречена быть решённой.  ;)

Если Вы имеете ввиду то, что строка формул загораживает лист, то значит у Вас не Excel 2007 или неохота защитить лист со скрытием формул. :) Решается копированием в модуль листа (ПКМ по ярлычку -> Исходный текст) следующего кода:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'реакция на выделение диапазона листа
  With ActiveCell 'работаем с активной ячейкой
    If Len(.Formula) > 255 Then 'если длина формулы больше 255 символов
      Application.DisplayFormulaBar = False 'прячем строку формул
      .ClearComments 'удалить примечание (вдруг было?)
      .AddComment .FormulaLocal 'создаём примечание, содержащее текущую формулу
    Else
      Application.DisplayFormulaBar = True
    End If
  End With
  'А ещё было бы неплохо:
  '- убирать за собой налепленные примечания;
  '- реагировать на Tab в выделенной области;
  '- редактировать формулу при корректировке примечания;
  '- видеть изменённую формулу, не выделяя ячейку.
End Sub
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

brico

К сожалению, не сработала.
Может я как то неправильно объяснил. Во вложенном файле скрин. Красным цветом список, который я выбираю. Черным соответсвенно результат выбора. А желтым помечена ячейка, в которой подобная формула
=СМЕЩ('База строителей'!$E$4:$E$962;ПОИСКПОЗ(M35;Build;0)-1;2;1;1).
А результат видите сами. Текст в ячейке. Только как посмотреть весь текст, а не только тот что написан. Вопрос...

Шпец Докапыч

Цитата: brico от 08.11.2008, 12:33
Только как посмотреть весь текст, а не только тот что написан. Вопрос...

Например, скопировать и вставить в блокнотик. ;)
Как вариант, отобразить в строке состояния:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Application.StatusBar = ActiveCell
End Sub
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

brico

Цитата: Шпец Докапыч от 08.11.2008, 18:45
Цитата: brico от 08.11.2008, 12:33

Например, скопировать и вставить в блокнотик. ;)
Как вариант, отобразить в строке состояния:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Application.StatusBar = ActiveCell
End Sub


СУПЕР! Все заработало. В строке состояния внизу отображается. Меня это устраивает. Спасибо за помощь.