はじめに以下のマクロをExcelに登録して下さい。登録はURLを参考にしてみてください。
Sub 自動入力()
Dim largeAA As Integer ’AA,BB,・・・・・の個数の変数
largeAA = InputBox(”AA,BB,・・・・・の個数を入力してください”)
Dim smallaa As Integer ’aa,bb,・・・・・の個数の変数
smallaa = InputBox(”aa,bb,・・・・・の個数を入力してください”)
Dim label
For j = 1 To smallaa
For i = 1 To largeAA
If Cells(largeAA * (j - 1) + i, 1).Value <> 0 Then
label = Cells(largeAA * (j - 1) + i, 1)
Else
Cells(largeAA * (j - 1) + i, 1) = label
End If
Next i
Next j
End Sub
この図のようにもとの表を選択してピボットテーブルの作成を開始します。
この図のように各項目をドラッグします。
この図のようにピボットテーブルが完成します。この図ではピボットテーブルのオプションで行と列の総計を非表示にしています。
この図のように、ピボットテーブルから表のみをコピーして新規のワークシートにコピーしてください。
メニュー→ツール→マクロから先ほど登録した自動入力マクロを実行してください。
この図のようにダイアログが表示されますが、数字でAA,BB,...の個数(ここでは3)を入力します。
また表示されるダイアログではaa,bb,....の個数を数字で入力します。
するとこのように左端の空欄だったところに、aa,bb,...が自動で入力されていると思います。まとめますと、ピボットテーブルで表を作成して、Excel-VBAマクロで空欄部分に自動で入力する、という流れになっています。マクロについては10×10ぐらいの表でいろんなパターンで軽く検証してみたのですがマクロの実行に際しましてはご自身でも確認してみてください。