Я пытаюсь применить имя продукта в столбце B файла, если в нем есть значение от столбца D до DX (Qty).

Рационально, если получен какой-либо новый запрос еды, который не отображается в файле, пользователь может временно ввести название еды, а затем ввести количество. Это сделано для того, чтобы оператор не вводил значение по ошибке и не забывал передавать информацию о новом элементе, который он добавил.

Можно ли добавить кнопку, которая могла бы проверять все листы от D6 до DX98, и если какое-либо количество найдено и если тогда соответствующая ячейка в C пуста, помечается буквой C как красный, а простой MsgBox подсказывает, что в файл.

Файл, над которым я работаю, выглядит следующим образом:http://s000.tinyupload.com/?file_id=00523976624440052148

1 ответ1

0

Откройте Macros /Visual Basic, дважды щелкните по листу и вставьте этот код справа:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim wkb As Workbook
Dim wks As Worksheet
Dim wksRange As Range
Set wkb = ThisWorkbook
Set wks = ActiveSheet
For i = 6 To 98 ' rows to be sweeped
    Set wksRange = wks.Range(Cells(i, 4), Cells(i, 127)) ' check from column 4 (D) to 127(DW)
    'Paint grey cells on columns A to C
    color_cell_a = Cells(i, 1).Interior.Color
    Cells(i, 2).Interior.Color = color_cell_a
    Cells(i, 3).Interior.Color = color_cell_a
    'If on the row there are values
    If WorksheetFunction.CountA(wksRange) <> 0 Then
        itemName = Cells(i, 2)
        itemPrice = Cells(i, 3)
        'Change color on column B
        If itemName = "" Then
            Cells(i, 2).Interior.Color = RGB(184, 0, 0)
        End If
        'Change color on column C
        If itemPrice = "" Then
            Cells(i, 3).Interior.Color = RGB(184, 0, 0)
        End If
    End If
Next i
End Sub

Он проверяет область, охватывающую D6:DW98 и если в строке есть значение без имени элемента и цены за единицу, он будет отмечать эти ячейки красным, пока вы не запишите на них что-либо.

Код очень легко изменить, если вы хотите настроить его.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .