Ситуация такая: пытаюсь создать в эксельке инструмент для планирования и отслеживания операционного процесса по работе нашей компании.
Краткое описание: Есть сводная таблица: в столбце находятся 4-5 клиентов. По каждому клиенту имеется набор одинаковых операций по перегрузке груза на терминале. Всего для планирования в календаре имеется 15 операций которые идут друг за другом приблизительно. При этом некоторые из них не могут производиться в один день у нескольких клиентов. Теперь, я решил идти по порядку. 1 - я пронумеровал операции от 1 до 15 в столбце I. Сделал код так, чтобы он находил в столбце I число 1. он его находит. дальше он должен проверять строку числа 1 от столбца J и далее вправо на наличие не пустых ячеек и красить их в желтый. далее был план после этого сделать так, чтобы он отрисовывал график как мне надо. Но он не находит мне не пустую ячейку справа от числа 1. Что делать я не знаю, потому что я не очень умен пока что в макросах. Есть кто может помочь по доброте своей душевной?
То что уже есть ниже. Саму таблицу для визуального подкрепления вложил.
[vba]
Код
Sub HighlightNonEmptyCellsAfter1InColumnI() Dim ws As Worksheet Dim lastRow As Long, lastColumn As Long Dim currentRow As Long, currentColumn As Long Dim startColumn As Long Dim cellValue As Variant Dim foundCell As Range Dim found As Boolean
Set foundCell = ws.Range("I1:I" & lastRow).Find(What:=1, LookIn:=xlValues, LookAt:=xlWhole)
If Not foundCell Is Nothing Then MsgBox "Найдена ячейка с числом 1 в строке " & foundCell.Row
startColumn = foundCell.Column + 1
found = False
For currentColumn = startColumn To lastColumn cellValue = ws.Cells(foundCell.Row, currentColumn).Value If Not IsEmpty(cellValue) And Len(cellValue) > 0 Then ws.Cells(foundCell.Row, currentColumn).Interior.Color = RGB(255, 255, 0) found = True End If Next currentColumn
If Not found Then MsgBox "Не найдено не пустых значений в строке " & foundCell.Row & " начиная от найденной ячейки вправо." End If Else MsgBox "Не найдено число 1 в столбце I." End If End Sub
[/vba]
Коллеги и не коллеги, доброго времени суток!
Ситуация такая: пытаюсь создать в эксельке инструмент для планирования и отслеживания операционного процесса по работе нашей компании.
Краткое описание: Есть сводная таблица: в столбце находятся 4-5 клиентов. По каждому клиенту имеется набор одинаковых операций по перегрузке груза на терминале. Всего для планирования в календаре имеется 15 операций которые идут друг за другом приблизительно. При этом некоторые из них не могут производиться в один день у нескольких клиентов. Теперь, я решил идти по порядку. 1 - я пронумеровал операции от 1 до 15 в столбце I. Сделал код так, чтобы он находил в столбце I число 1. он его находит. дальше он должен проверять строку числа 1 от столбца J и далее вправо на наличие не пустых ячеек и красить их в желтый. далее был план после этого сделать так, чтобы он отрисовывал график как мне надо. Но он не находит мне не пустую ячейку справа от числа 1. Что делать я не знаю, потому что я не очень умен пока что в макросах. Есть кто может помочь по доброте своей душевной?
То что уже есть ниже. Саму таблицу для визуального подкрепления вложил.
[vba]
Код
Sub HighlightNonEmptyCellsAfter1InColumnI() Dim ws As Worksheet Dim lastRow As Long, lastColumn As Long Dim currentRow As Long, currentColumn As Long Dim startColumn As Long Dim cellValue As Variant Dim foundCell As Range Dim found As Boolean
Set foundCell = ws.Range("I1:I" & lastRow).Find(What:=1, LookIn:=xlValues, LookAt:=xlWhole)
If Not foundCell Is Nothing Then MsgBox "Найдена ячейка с числом 1 в строке " & foundCell.Row
startColumn = foundCell.Column + 1
found = False
For currentColumn = startColumn To lastColumn cellValue = ws.Cells(foundCell.Row, currentColumn).Value If Not IsEmpty(cellValue) And Len(cellValue) > 0 Then ws.Cells(foundCell.Row, currentColumn).Interior.Color = RGB(255, 255, 0) found = True End If Next currentColumn
If Not found Then MsgBox "Не найдено не пустых значений в строке " & foundCell.Row & " начиная от найденной ячейки вправо." End If Else MsgBox "Не найдено число 1 в столбце I." End If End Sub