vlth
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору U571, попробуйте это (код нужно расположить в модуле ЭтаКнига): Код: Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim oCell As Range, strFind As String Application.ScreenUpdating = False If Sh.Name <> "Price" And Intersect(Union(Sh.Columns("A:B"), _ Sh.Columns("E:IV")), Target) Is Nothing Then For Each oCell In Target.Cells With oCell If .HasFormula And .Text <> "звонитне" Then strFind = .Parent.Cells(.Row, 1) .NumberFormat = Me.Worksheets("Price").Columns(1).Find(strFind) _ .Offset(, 2).NumberFormat End If End With Next oCell End If Application.ScreenUpdating = True End Sub | Код будет срабатывать при "протягивании" формул или при выделении ячеек в столбцах C и D, а также при выделении этих столбцов (полностью) или диапазонов, им принадлежащих. Заметил, что при его использовании на листах Вашей книги исправляются ошибки неправильного проставления валюты. Кстати, обратите внимание на написание слова "звонитне" - я бы везде исправил ошибку, которая в дальнейшем может стать источником проблем (исправляется одним щелчком мышки на всех листах одновременно). Добавлено: SAS888 Ммда, как и предполагалось, "решение" Sniper1, увы, ищет всё тем же способом ( ... там ещё я увидел, что некий segail вопросы задаёт... Аналогичная ситуация (узнаю свой код ). Но он пытается хоть что-то сам сделать! | Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 12:56 06-04-2010 | Исправлено: vlth, 13:17 06-04-2010 |
|