Макрос Excel для изменения ячеек при нажатии Enter - PullRequest
0 голосов
/ 09 ноября 2010

Мне нужна помощь по макросу, чтобы уменьшить значение ячейки на основе того, что было введено в другой ячейке.У меня есть 5 столбцов, в которые я буду вводить значения, а также 2 столбца, в которых уже есть данные.Когда я ввожу число в один из 5 столбцов, я хочу, чтобы появилось окно с надписью «Бла-бла», если я нажму «да», я бы хотел, чтобы значение в этой ячейке вычиталось из другой ячейки, которая должна бытьпосмотрел информацию из этих двух других столбцов.

Лист 1:

    A   B   C   D   E   F   G
1                       5   10

Лист 2:

    A   B   C   D   E   F   G
1       2   4   6   8   10  12
2   2
3   4
4   5

Так что, если бы я набрал '250' вA1 на листе 1, макрос уменьшит значение в ячейке F4 на листе 2 на 250, потому что это значение для 5, 10 из листа 1. Возможно ли что-то подобное?Будет больше фильтрации в зависимости от того, в какой столбец я вводю значения, и я смогу изменить это позже.

Ответы [ 2 ]

2 голосов
/ 09 ноября 2010

Во-первых, убедитесь, что вы не можете получить достаточно хорошее решение с помощью формул, потому что написание макроса будет более трудоемким.

Если вам все еще нужен макрос, вы захотите написать функцию вокруг события Worksheet_Change для рассматриваемого листа. Эта ссылка покажет вам, как это сделать.

Будьте осторожны, чтобы не генерировать другое Worksheet_Change при обработке события Worksheet_Change. Поскольку часть вашего ответа на изменение листа будет другим изменением, добавьте к своему коду Application.EnableEvents = False и добавьте Application.EnableEvents = True.

1 голос
/ 09 ноября 2010

Чтобы сам код внес изменения, вы просто должны использовать метод CELLS или OFFSET (для объекта Range). Это будет сделано в контексте события Worksheet_Change, как написал Стивен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...