最近、VBA を使用して Excel でのピボット テーブルの作成を自動化する方法を学んでいましたが、このExcel.Range.Group()
方法の実装は奇妙に感じました。4 番目のパラメーター はPeriods
、ブール値の 7 つの要素の配列を取り、グループ化が秒、分、時間、日、月、四半期、または年であるかどうかを示します。通常、 1 つ以上のオプションがオンになっていることを示すためにEnum
、メンバーをまとめて 'd できる型を使用して、このようなことが行われます。この関数はその良い例です。Or
MsgBox
たとえば、私はこのような使い方を期待していたでしょう...
MyPivotTable.DataRange.Cells(1).Group Periods:=vbGroupPeriods.Days Or _
vbGroupPeriods.Months
それ以外の...
MyPivotTable.DataRange.Cells(1).Group Periods:=Array(False, False, False, _
True, True, False, False)
なぜそれが で行われるのかを理解するために周りを見回しましたがArray
、これまでのところ手ぶらで出てきました。それで、私の質問は、なぜこのようにしたのですか?私が見ていない制限はありますか?それは誰かの個人的な選択でしたか?それともただの謎ですか?文句を言うのではなく、理解しようとするだけです。