Показать значение ячейки рядом с другой ячейкой - PullRequest
1 голос
/ 27 января 2020

Попытка отобразить максимальный спрос и месяц, связанный с этим спросом. Столбец month - это столбец A, а спрос - столбец E. Я уверен, что моя проблема заключается в том, как я обращаюсь к MonthOf_Demand, но, похоже, не могу понять это сам. Любые советы / подсказки / методы чрезвычайно приветствуются!

Проблема, с которой я столкнулся, заключается в том, что у меня есть заголовки столбцов в 1-й ячейке над моими данными, и когда я запускаю код, он возвращает неверную дату и запрос связано с этим. Пока это моя таблица:

enter image description here

Отображает значения, но они неверны, поэтому это начало.

Это мой кодирование до сих пор (благодаря помощи других великих людей на этом сайте!):

Sub MonthHighestDemand()

Dim ws As Worksheet
Dim Max_Demand As Long
Dim RowOf_Demand As Long
Dim MonthOf_Demand As Date

Set ws = Sheets("DATA")

Max_Demand = Application.WorksheetFunction.Max(ws.Columns("E"))
RowOf_Demand = WorksheetFunction.Match(Max_Demand, ws.Columns("E"), 1)
MonthOf_Demand = WorksheetFunction.Index(ws.Columns("A"), RowOf_Demand)

MsgBox "The maximum demand is " & Max_Demand & " which occurs at " & MonthOf_Demand

End Sub

1 Ответ

0 голосов
/ 27 января 2020

Только пара незначительных настроек параметров вашей функции:

Option Explicit

Sub MonthHighestDemand()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("DATA")

    Dim maxDemand As Variant
    Dim maxRow As Long
    Dim maxMonth As Long
    maxDemand = Application.WorksheetFunction.Max(ws.Columns("E"))
    maxRow = WorksheetFunction.Match(maxDemand, ws.Columns("E"), 0)
    maxMonth = Month(WorksheetFunction.Index(ws.Columns("A"), maxRow))
    Debug.Print "max month is " & maxMonth
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...