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

Вход

Регистрация

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

 

= Мир MS Excel/При добавлении фигуры - в ячейку добавляется единица - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » При добавлении фигуры - в ячейку добавляется единица (Макросы/Sub)
При добавлении фигуры - в ячейку добавляется единица
rotten41 Дата: Понедельник, 30.01.2017, 08:48 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 163
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго времени, гуру экселя.
Подскажите - как решить технический вопрос.

Как реализовать следующий скрипт?
При добавлении какой-либо автофигуры на любой лист книги - в ячейку B1 (листа1) - добавляется "1".
При удалении какой-либо автофигуры с любого листа книги - в ячейку B2 (листа1) - тоже добавляется "1".
К сообщению приложен файл: 65743.xls (40.5 Kb)
 
Ответить
СообщениеДоброго времени, гуру экселя.
Подскажите - как решить технический вопрос.

Как реализовать следующий скрипт?
При добавлении какой-либо автофигуры на любой лист книги - в ячейку B1 (листа1) - добавляется "1".
При удалении какой-либо автофигуры с любого листа книги - в ячейку B2 (листа1) - тоже добавляется "1".

Автор - rotten41
Дата добавления - 30.01.2017 в 08:48
sboy Дата: Понедельник, 30.01.2017, 09:29 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Если правильно понял (в модуль листа)
[vba]
Код

Dim q As Integer

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B1")) Is Nothing Then Exit Sub
    If Cells(1, 2) < q Then
        Cells(2, 2) = Cells(2, 2).Value + 1
       End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells(1, 2) = shapes.Count
q = Cells(1, 2).Value
End Sub
[/vba]
После добавления (удаления) автофигур, щелкнуть на любую ячейку
К сообщению приложен файл: 2863881.xls (47.0 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
Если правильно понял (в модуль листа)
[vba]
Код

Dim q As Integer

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B1")) Is Nothing Then Exit Sub
    If Cells(1, 2) < q Then
        Cells(2, 2) = Cells(2, 2).Value + 1
       End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells(1, 2) = shapes.Count
q = Cells(1, 2).Value
End Sub
[/vba]
После добавления (удаления) автофигур, щелкнуть на любую ячейку

Автор - sboy
Дата добавления - 30.01.2017 в 09:29
rotten41 Дата: Понедельник, 30.01.2017, 10:03 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 163
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
sboy, вы не совсем точно поняли.
Макрос у вас считает - общее количество фигур на листе и показывает их количество.
Например когда я открываю книгу. Я еще ничего не сделал - а в ячейке B1 - уже стоит число 6. То есть как я понял - у вас макрос просто считает количество автофигур.
Или - при удалении автофигуры - значение В2 меняется как и положено. Но почему-то меняется и значение ячейки В1, хотя я никаких автофигур не добавлял. (то есть ваш макрос - пересчитывает количество оставшихся автофигур - в меньшую сторону).

Я имел ввиду добавлять в ячейку B1 - "1", при добавлении автофигуры, а не показывать общее количество автофигур на листе.
 
Ответить
Сообщениеsboy, вы не совсем точно поняли.
Макрос у вас считает - общее количество фигур на листе и показывает их количество.
Например когда я открываю книгу. Я еще ничего не сделал - а в ячейке B1 - уже стоит число 6. То есть как я понял - у вас макрос просто считает количество автофигур.
Или - при удалении автофигуры - значение В2 меняется как и положено. Но почему-то меняется и значение ячейки В1, хотя я никаких автофигур не добавлял. (то есть ваш макрос - пересчитывает количество оставшихся автофигур - в меньшую сторону).

Я имел ввиду добавлять в ячейку B1 - "1", при добавлении автофигуры, а не показывать общее количество автофигур на листе.

Автор - rotten41
Дата добавления - 30.01.2017 в 10:03
sboy Дата: Понедельник, 30.01.2017, 10:27 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
sboy, вы не совсем точно поняли.

Тогда попроще)
[vba]
Код

Dim q As Integer

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = shapes.Count
If q = Empty Then q = 0
If x > q Then Cells(1, 2) = Cells(1, 2).Value + 1
If x < q Then Cells(2, 2) = Cells(2, 2).Value + 1
q = x
End Sub
[/vba]
файл чуть не забыл
К сообщению приложен файл: 7174241.xls (50.0 Kb)


Яндекс: 410016850021169

Сообщение отредактировал sboy - Понедельник, 30.01.2017, 10:29
 
Ответить
Сообщение
sboy, вы не совсем точно поняли.

Тогда попроще)
[vba]
Код

Dim q As Integer

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = shapes.Count
If q = Empty Then q = 0
If x > q Then Cells(1, 2) = Cells(1, 2).Value + 1
If x < q Then Cells(2, 2) = Cells(2, 2).Value + 1
q = x
End Sub
[/vba]
файл чуть не забыл

Автор - sboy
Дата добавления - 30.01.2017 в 10:27
rotten41 Дата: Понедельник, 30.01.2017, 10:40 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 163
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
sboy, теперь все намного лучше.
Большое спасибо.
 
Ответить
Сообщениеsboy, теперь все намного лучше.
Большое спасибо.

Автор - rotten41
Дата добавления - 30.01.2017 в 10:40
Мир MS Excel » Вопросы и решения » Вопросы по VBA » При добавлении фигуры - в ячейку добавляется единица (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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