理系の仕事術

仕事の効率化、段取り術、転職、キャリアなどなど

PowerPoint VBA で表に連番をつける

表に連番をつけたい

Excelだと簡単にできることがPowerPointではできなかったりします。 表に連番をつけるのがその例。手打ちで打ち込むのが面倒だったりします。

ちなみにWordでは簡単にできるらしいです。(PowerPointでは同じやり方でも番号を追加できません。) note.pc123.jp

PowerPoint VBAのコード

そこで、PowerPointマクロを作ってみました。 選択したセルから下側のセルに連番が作られます。

'セルに連番を記入するマクロ
Public Sub putOrderedList()
Dim i As Integer, j As Integer
Dim myNum() As Integer, myRow As Integer, myColumn As Integer

With ActiveWindow.Selection.ShapeRange.Table

    ReDim myNum(.Rows.Count, .Columns.Count)
    For i = 1 To .Rows.Count
        For j = 1 To .Columns.Count
            myNum(i, j) = 0
        Next
    Next
    
    For i = 1 To .Rows.Count
        For j = 1 To .Columns.Count
            If .Cell(i, j).Selected = 1 Then
                myNum(i, j) = Val(.Cell(i, j) _
                .Shape.TextFrame.TextRange.Text)
                myRow = i
                myColumn = j
            End If
        Next
    Next
        
    For i = myRow To .Rows.Count
        .Cell(i, myColumn).Shape.TextFrame.TextRange.Text = _
        myNum(myRow, myColumn) + i - myRow
    Next
    
End With

End Sub

このマクロを実行すると、表に連番が追加されます。

マクロ実行前 マクロ実行後
f:id:IamRikei2:20150511005646p:plain:w200 f:id:IamRikei2:20150511005652p:plain:w200

上記マクロをコピーペーストしたら使えます。

VBAの使い方は下記を参照:

q.hatena.ne.jp