Доброго времени, гуру экселя. Подскажите - как решить технический вопрос.
Как реализовать следующий скрипт? При добавлении какой-либо автофигуры на любой лист книги - в ячейку B1 (листа1) - добавляется "1". При удалении какой-либо автофигуры с любого листа книги - в ячейку B2 (листа1) - тоже добавляется "1".
Доброго времени, гуру экселя. Подскажите - как решить технический вопрос.
Как реализовать следующий скрипт? При добавлении какой-либо автофигуры на любой лист книги - в ячейку B1 (листа1) - добавляется "1". При удалении какой-либо автофигуры с любого листа книги - в ячейку B2 (листа1) - тоже добавляется "1".rotten41
Добрый день. Если правильно понял (в модуль листа) [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] После добавления (удаления) автофигур, щелкнуть на любую ячейку
Добрый день. Если правильно понял (в модуль листа) [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
sboy, вы не совсем точно поняли. Макрос у вас считает - общее количество фигур на листе и показывает их количество. Например когда я открываю книгу. Я еще ничего не сделал - а в ячейке B1 - уже стоит число 6. То есть как я понял - у вас макрос просто считает количество автофигур. Или - при удалении автофигуры - значение В2 меняется как и положено. Но почему-то меняется и значение ячейки В1, хотя я никаких автофигур не добавлял. (то есть ваш макрос - пересчитывает количество оставшихся автофигур - в меньшую сторону).
Я имел ввиду добавлять в ячейку B1 - "1", при добавлении автофигуры, а не показывать общее количество автофигур на листе.
sboy, вы не совсем точно поняли. Макрос у вас считает - общее количество фигур на листе и показывает их количество. Например когда я открываю книгу. Я еще ничего не сделал - а в ячейке B1 - уже стоит число 6. То есть как я понял - у вас макрос просто считает количество автофигур. Или - при удалении автофигуры - значение В2 меняется как и положено. Но почему-то меняется и значение ячейки В1, хотя я никаких автофигур не добавлял. (то есть ваш макрос - пересчитывает количество оставшихся автофигур - в меньшую сторону).
Я имел ввиду добавлять в ячейку B1 - "1", при добавлении автофигуры, а не показывать общее количество автофигур на листе.rotten41
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
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