Введите указанный c текст в текстовое поле и добавьте +1 к другой ячейке - PullRequest
0 голосов
/ 04 мая 2020

Я новичок, чтобы преуспеть, но теперь я застрял в чем-то. Единственное, чего я пытаюсь добиться, это то, что если я добавлю в текстовое поле указанное c слово, другая ячейка получит +1 (поэтому, если в текстовое поле был введен 0 и текст, он изменится на 1 et c.) так, например:

Ячейка B2 = Apple

Ячейка H2: значение B2

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

Заранее спасибо.

1 Ответ

0 голосов
/ 04 мая 2020

OK. Вот решение.

  1. Установите именованный диапазон. Я ввел 5 разных фруктов в одном столбце и 5 разных количеств в соседнем столбце (не важно, где, но должен быть смежным). Я назвал диапазон "Продукты", но любое другое имя подойдет также.
  2. Я создал список проверки данных. Я использовал ячейку G3, но любая другая будет одинаково подходящей. Я указал список проверки данных на =INDEX(Products,0,1), что означает первый столбец диапазона Products.
  3. Теперь я добавил код на лист. Этот код должен быть в листе кода листа , на котором находится G3. Этот кодовый лист будет иметь имя вроде Sheet1 (Sheet1) . Не используйте стандартный кодовый модуль с таким именем, как Module1 . Вот код:

    Private Sub Worksheet_Change (ByVal Target As Range) '018

    Const Trigger = "G3"                ' change to suit
    Dim Qty As Long
    
    With Target
        If .Address = Range(Trigger).Address Then
            On Error Resume Next            ' in case not found
            Qty = Application.VLookup(.Value, Range("Products"), 2, False)
            .Offset(0, 1).Value = Qty + 1
        End If
    End With
    

    End Sub *

Обратите внимание, что Триггер ячейка называется "G3". Это должна быть ячейка, в которой находится раскрывающийся список проверки данных.

Этот код будет запускаться при каждом изменении Триггер . Вы делаете выбор там, и функция VLOOKUP найдет количество в столбце 2 диапазона Products. Если элемент не найден в списке, он вернет 0, но вы можете установить проверку ячейки, чтобы предотвратить запись элемента, которого нет в списке. Код добавит единицу к найденному количеству и выдаст результат в .Offset(0, 1), что означает один столбец справа от ячейки Trigger .

Возможно, вы захотите сделать другие вещи с вашим идея. Я думаю, что система, которую я предлагаю, может быть адаптирована к тому, что вы имеете в виду, включая изменение количества в списке Products.

...