Всем привет. Второй день пытаюсь разобраться самостоятельно, но пока бессилен, буду рад Вашим любым советам. На листе "th" файла примера кликом по ячейкам в диапазонах A4:G22;I4:O22 выбираем необходимое значение от 1 до 7. Макросом листа "Лист1 (th)" по одному клику мышью заливается цветом ячейка, по двойному клику заливка снимается. макрос ограничивает количество закрашенных ячеек (не более одного) в строке между столбцами A:G и I:O. В столбцах S T определяется при помощи CountColor какое значение было выбрано в диапазонах. В Столбцах H P Q рассчитывается среднее значение, в строке 23 рассчитывается итог. Данные строки 23 переносятся на Лист1 "=H23" "=P23" "=Q23" Теперь суть проблемы: 1. При изменении данных расчет на листе "th" производится а вот обновление этих данных на "Лист1" не производится, если сразу перейти на Лист1 посмотреть результат. Автоматическое вычисление включено. Обновление Листа1 происходит если нажать пересчитать книгу или сохранить. Что макросом не так? 2. При щелчках мыши на других ячейках происходит подвисание появляется надпись "расчет" подозреваю что необходимо ограничить действие функции CountColor. Подскажите как. 3. При попытке переименовать любой из листов в файле, Excel "падает", даже падает при данном действии в другой книге при открытой этой. если книгу с макросом закрыть то в другой все нормально переименовывается Подскажите пожалуйста решение этих проблем.
Всем привет. Второй день пытаюсь разобраться самостоятельно, но пока бессилен, буду рад Вашим любым советам. На листе "th" файла примера кликом по ячейкам в диапазонах A4:G22;I4:O22 выбираем необходимое значение от 1 до 7. Макросом листа "Лист1 (th)" по одному клику мышью заливается цветом ячейка, по двойному клику заливка снимается. макрос ограничивает количество закрашенных ячеек (не более одного) в строке между столбцами A:G и I:O. В столбцах S T определяется при помощи CountColor какое значение было выбрано в диапазонах. В Столбцах H P Q рассчитывается среднее значение, в строке 23 рассчитывается итог. Данные строки 23 переносятся на Лист1 "=H23" "=P23" "=Q23" Теперь суть проблемы: 1. При изменении данных расчет на листе "th" производится а вот обновление этих данных на "Лист1" не производится, если сразу перейти на Лист1 посмотреть результат. Автоматическое вычисление включено. Обновление Листа1 происходит если нажать пересчитать книгу или сохранить. Что макросом не так? 2. При щелчках мыши на других ячейках происходит подвисание появляется надпись "расчет" подозреваю что необходимо ограничить действие функции CountColor. Подскажите как. 3. При попытке переименовать любой из листов в файле, Excel "падает", даже падает при данном действии в другой книге при открытой этой. если книгу с макросом закрыть то в другой все нормально переименовывается Подскажите пожалуйста решение этих проблем.Sancho
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("a4:g22")) Is Nothing Then Range(Cells(Target.Row, 1), Cells(Target.Row, 7)).Interior.ColorIndex = xlNone Target.Interior.ColorIndex = 46 End If If Not Intersect(Target, Range("i4:o22")) Is Nothing Then Range(Cells(Target.Row, 9), Cells(Target.Row, 15)).Interior.ColorIndex = xlNone Target.Interior.ColorIndex = 46 End If Application.Calculate End Sub
[/vba]
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("a4:g22")) Is Nothing Then Range(Cells(Target.Row, 1), Cells(Target.Row, 7)).Interior.ColorIndex = xlNone Target.Interior.ColorIndex = 46 End If If Not Intersect(Target, Range("i4:o22")) Is Nothing Then Range(Cells(Target.Row, 9), Cells(Target.Row, 15)).Interior.ColorIndex = xlNone Target.Interior.ColorIndex = 46 End If Application.Calculate End Sub
Соболезную. Вы бы справкой чаще пользовались: Application.Volatile Method Marks a user-defined function as volatile А Вы ее понатыкали куда только можно. Зачем? Там ключевая строка: [vba]
Код
Application.Calculate
[/vba] При выделении ячеек(и изменении цвета) пересчитывается вся книга. У меня все пересчитывается. Вам не это надо?
Соболезную. Вы бы справкой чаще пользовались: Application.Volatile Method Marks a user-defined function as volatile А Вы ее понатыкали куда только можно. Зачем? Там ключевая строка: [vba]
Код
Application.Calculate
[/vba] При выделении ячеек(и изменении цвета) пересчитывается вся книга. У меня все пересчитывается. Вам не это надо?KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728