Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/При нажатии конструктор не активна кнопка вставить - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » При нажатии конструктор не активна кнопка вставить (Макросы/Sub)
При нажатии конструктор не активна кнопка вставить
lebensvoll Дата: Понедельник, 18.07.2016, 17:40 | Сообщение № 1
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
Добрый день уважаемые форумчане!!!
Прошу вас разъяснить с чем связано не активность кнопки вставить на вкладке разработчик при нажатой кнопки режим конструктора???
[img][/img]
обращался к ГУГЛУ но не могу найти ответа (((( или просто плохо ищу возможно


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеДобрый день уважаемые форумчане!!!
Прошу вас разъяснить с чем связано не активность кнопки вставить на вкладке разработчик при нажатой кнопки режим конструктора???
[img][/img]
обращался к ГУГЛУ но не могу найти ответа (((( или просто плохо ищу возможно

Автор - lebensvoll
Дата добавления - 18.07.2016 в 17:40
_Boroda_ Дата: Понедельник, 18.07.2016, 17:47 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А если Конструктор отжать, то Вставить активна?
Если нет, то посмотрите:
1. Не выделено ли несколько листов сразу?
2. Не стоит ли защита листа?
3. Нет ли общего доступа к файлу и разрешения нескольким пользователям редактировать?
4. Такое безобразие везде или только в этой книге ?

Если на все вопросы ответ "нет", то попробуйте скопировать этот лист в отдельную книгу и положить сюда


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА если Конструктор отжать, то Вставить активна?
Если нет, то посмотрите:
1. Не выделено ли несколько листов сразу?
2. Не стоит ли защита листа?
3. Нет ли общего доступа к файлу и разрешения нескольким пользователям редактировать?
4. Такое безобразие везде или только в этой книге ?

Если на все вопросы ответ "нет", то попробуйте скопировать этот лист в отдельную книгу и положить сюда

Автор - _Boroda_
Дата добавления - 18.07.2016 в 17:47
lebensvoll Дата: Понедельник, 18.07.2016, 17:49 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, спасибо огромное!!!
Отлегло я думал что придется переустанавливать (((((
Цитата
Не выделено ли несколько листов сразу
Нет ли общего доступа к файлу


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщение_Boroda_, спасибо огромное!!!
Отлегло я думал что придется переустанавливать (((((
Цитата
Не выделено ли несколько листов сразу
Нет ли общего доступа к файлу

Автор - lebensvoll
Дата добавления - 18.07.2016 в 17:49
RAN Дата: Понедельник, 18.07.2016, 17:58 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
С общим доступом.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеС общим доступом.

Автор - RAN
Дата добавления - 18.07.2016 в 17:58
SGerman Дата: Понедельник, 18.07.2016, 18:53 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 4 ±
Замечаний: 20% ±

Excel 2003
Кнопка "Вставить" у меня была неактивна когда стоял обработчик CelectCell для листа


Мудрость приходит со старостью. Но иногда старость приходит одна :)
 
Ответить
СообщениеКнопка "Вставить" у меня была неактивна когда стоял обработчик CelectCell для листа

Автор - SGerman
Дата добавления - 18.07.2016 в 18:53
SGerman Дата: Понедельник, 18.07.2016, 19:04 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 4 ±
Замечаний: 20% ±

Excel 2003
Поправлюсь:

Был код для Worksheet_Change и Worksheet_SelectionChange, где ничего особенного не проиходило (проверки там всякие и все).
Проект большой, файл не цепляется.


Мудрость приходит со старостью. Но иногда старость приходит одна :)
 
Ответить
СообщениеПоправлюсь:

Был код для Worksheet_Change и Worksheet_SelectionChange, где ничего особенного не проиходило (проверки там всякие и все).
Проект большой, файл не цепляется.

Автор - SGerman
Дата добавления - 18.07.2016 в 19:04
SGerman Дата: Понедельник, 18.07.2016, 19:17 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 4 ±
Замечаний: 20% ±

Excel 2003
Сейчас внимательнее просмотрел код SelectionChange: в нем проверяется, с какой строки ушел фокус и для старой строки пвыполняется проверка всех ячеек и изменение цвета фона тех из них, где были обнаружены ошибки. При этом собственно перемещения фокуса не происходит.

Так вот, если окраски не было (для строк заголовка), то функция "Вставить" остается активной, а если была, то неактивной. Такие вот вареники :)

Вот код функции окраски:

[vba]
Код
Public Function Check_PaintCells(rRange As Range, sCode As String) As Boolean
' По указанному коду ищет в таблице цветовой палитры ячейку - образец и, если в колонке
' "Красить" найденной строки значение "Да", красит указанный диапазон ячеек
' в соответствующий цвет (фон и символы) и возвращает true
' В противном случае возвращается false
Dim i As Integer
Dim j As Integer

   Check_PaintCells = False
   i = Find_ManualTableRow("Цветовая палитра выделения ошибок при проверке данных")
   If i > 0 Then
      For j = i + 1 To i + 10     ' Таблица не должна быть более 9 строк
         If Worksheets("Manual").Cells(j, 5).Value = sCode Then
            ' Указанный код найден
            If Worksheets("Manual").Cells(j, 6).Value = "Да" Then
               ' Установлен режим окраски для этого кода
               rRange.Interior.Color = Worksheets("Manual").Cells(j, 3).Interior.Color
               rRange.Font.Color = Worksheets("Manual").Cells(j, 3).Font.Color
               Check_PaintCells = True
            Else
               ' Не установлен режим окраски для этого кода ошибки
               Check_PaintCells = False
            End If
            Check_PaintCells = True
            Exit For
         End If
      Next j
   End If

End Function
[/vba]


Мудрость приходит со старостью. Но иногда старость приходит одна :)
 
Ответить
СообщениеСейчас внимательнее просмотрел код SelectionChange: в нем проверяется, с какой строки ушел фокус и для старой строки пвыполняется проверка всех ячеек и изменение цвета фона тех из них, где были обнаружены ошибки. При этом собственно перемещения фокуса не происходит.

Так вот, если окраски не было (для строк заголовка), то функция "Вставить" остается активной, а если была, то неактивной. Такие вот вареники :)

Вот код функции окраски:

[vba]
Код
Public Function Check_PaintCells(rRange As Range, sCode As String) As Boolean
' По указанному коду ищет в таблице цветовой палитры ячейку - образец и, если в колонке
' "Красить" найденной строки значение "Да", красит указанный диапазон ячеек
' в соответствующий цвет (фон и символы) и возвращает true
' В противном случае возвращается false
Dim i As Integer
Dim j As Integer

   Check_PaintCells = False
   i = Find_ManualTableRow("Цветовая палитра выделения ошибок при проверке данных")
   If i > 0 Then
      For j = i + 1 To i + 10     ' Таблица не должна быть более 9 строк
         If Worksheets("Manual").Cells(j, 5).Value = sCode Then
            ' Указанный код найден
            If Worksheets("Manual").Cells(j, 6).Value = "Да" Then
               ' Установлен режим окраски для этого кода
               rRange.Interior.Color = Worksheets("Manual").Cells(j, 3).Interior.Color
               rRange.Font.Color = Worksheets("Manual").Cells(j, 3).Font.Color
               Check_PaintCells = True
            Else
               ' Не установлен режим окраски для этого кода ошибки
               Check_PaintCells = False
            End If
            Check_PaintCells = True
            Exit For
         End If
      Next j
   End If

End Function
[/vba]

Автор - SGerman
Дата добавления - 18.07.2016 в 19:17
SGerman Дата: Понедельник, 18.07.2016, 19:19 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 4 ±
Замечаний: 20% ±

Excel 2003
А вот код для полноты картины:

[vba]
Код
Public Function Find_ManualTableRow(sTableName As String) As Integer
' Функция ищет на листе Manual указанную таблицу (колонка A) и, если находит,
' возвращает ее номер. Иначе возвращается -1
Dim i As Integer
Dim ret As Integer
   
   ret = -1
   With Worksheets("Manual")
      For i = 1 To 200
        If .Cells(i, 1).Value = sTableName Then
           ret = i
           Exit For
        End If
      Next i
   End With
   Find_ManualTableRow = ret
   
End Function
[/vba]


Мудрость приходит со старостью. Но иногда старость приходит одна :)
 
Ответить
СообщениеА вот код для полноты картины:

[vba]
Код
Public Function Find_ManualTableRow(sTableName As String) As Integer
' Функция ищет на листе Manual указанную таблицу (колонка A) и, если находит,
' возвращает ее номер. Иначе возвращается -1
Dim i As Integer
Dim ret As Integer
   
   ret = -1
   With Worksheets("Manual")
      For i = 1 To 200
        If .Cells(i, 1).Value = sTableName Then
           ret = i
           Exit For
        End If
      Next i
   End With
   Find_ManualTableRow = ret
   
End Function
[/vba]

Автор - SGerman
Дата добавления - 18.07.2016 в 19:19
SGerman Дата: Понедельник, 18.07.2016, 19:26 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 4 ±
Замечаний: 20% ±

Excel 2003
Manual - лист с настроечными таблицами (для гибкости изменения настроек придумал хранить их в самой книге на отдельном листе), а смена фокуса обрабатывается для другого листа - с данными пользователя, откуда и передается ссылка на ячейку как переменная rRange


Мудрость приходит со старостью. Но иногда старость приходит одна :)
 
Ответить
СообщениеManual - лист с настроечными таблицами (для гибкости изменения настроек придумал хранить их в самой книге на отдельном листе), а смена фокуса обрабатывается для другого листа - с данными пользователя, откуда и передается ссылка на ячейку как переменная rRange

Автор - SGerman
Дата добавления - 18.07.2016 в 19:26
Мир MS Excel » Вопросы и решения » Вопросы по VBA » При нажатии конструктор не активна кнопка вставить (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!