Именованный аргумент PlotBy является
необязательным, а его значение определяется программой при указании диапазона. Т.е. при выборе диапазона "B2:B125" - значение аргумента PlotBy будет автоматически установлено как xlColumns (т.к. кол-во строк превышает кол-во столбцов), при выборе же диапазона "B2:K10" - значение будет автоматически установлено как xlRows (т.к. в этом случае кол-во столбцов превышает кол-во строк)
Всё вышесказанное не является вымыслом
(т.к. было проверено временем и ещё раз только что), поэтому, термин "необходимо" считаю некорректным, ибо в моём примере использование аргумента PlotBy не является необходимым (хотя его использование и делает код более читабельным и понятным)
Добавлено : некорректное построение диаграммы, по всей видимости, связано с предварительным выделением диапазона, т.е. если при создании диаграммы выделен диапазон, где Rows.Count >= Columns.Count, то в этом случае, использование необязательного именованного аргумента PlotBy будет действительно необходимо, в противном случае, нет.