2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Excel VBAでネットワーク機器のconfig作成を効率化する

Last updated at Posted at 2019-06-24

#したいこと
ルータのサブインタフェースを100個作りたいなど、ネットワーク機器などのconfig作成において繰り返しが必要な作業を自動で行うExcelVBAマクロを作ってみた。

##機能
・サブインタフェースなどの繰り返しconfigを作成可能。
・サブインタフェースの番号やVLANIDはインタフェースの数字をインクリメント可能
・インクリメントする値の初期値はconfig行毎で変えることも可能(サブインタフェースが1~でVLANIDが1001~など。)
・speed設定やno shutdownなどの共通configについてはそのままコピーする。

##シートの構成
キャプチャ.PNG

シートはパラメータなどを入れるパラメータシートと生成されるconfigを吐き出す出力シートの2シートを作成した。
B行に繰り返したいconfigを書き、インクリメントしたい部分を$に置換する。インクリメントする値の初期値をC行に記入する。
E3セルに何ループさせるかを記入する。

##マクロ
短くシンプルにをモットーにガーっと書いてみた。
もうちょっときれいにしたい。

Sub configcreate()

Dim LOOPNUM As Integer
Dim CMDLINE As String
Dim INITVALUE As String
Dim NUMLINE As Integer
Dim OUTPUTCELL As Integer

Worksheets("出力シート").Columns("A:A").EntireRow.Clear '出力シートのA行をクリア
LASTROW = Worksheets("パラメータ").Cells(Rows.Count, 2).End(xlUp).Row
NUMLINE = LASTROW - 2
LOOPNUM = Worksheets("パラメータ").Cells(3, 5)
 'NUMLINE = Worksheets("パラメータ").Cells(6, 5) '行数を手打ちする場合はここで指定していた。現在は自動取得
OUTPUTCELL = 1  '出力1行目の行番号

For i = 1 To LOOPNUM    'ループ回数のfor
    For j = 1 To NUMLINE    '行数のfor
    CMDLINE = Worksheets("パラメータ").Cells(2 + j, 2).Value

        If InStr(CMDLINE, "$") > 0 Then
        INITVALUE = Worksheets("パラメータ").Cells(2 + j, 3).Value
            If i >= 2 Then
            k = i - 1
            INITVALUE = INITVALUE + k
            Else
            End If
            
        CMDLINE = Replace(CMDLINE, "$", INITVALUE)
        Else
    
        End If

        Worksheets("出力シート").Cells(OUTPUTCELL, 1).Value = CMDLINE
        OUTPUTCELL = OUTPUTCELL + 1
    Next
   
    
Next
    

End Sub

##マクロ実行結果
上記シート構成の画像のパラメータで回してみた。
想定通りの結果が出ているし、手作業で数時間かかる作業が1秒程度でできてしまった。
キャプチャ2.PNG

##今後の課題
繰り返しだけでなく、config全般を自動生成するマクロを作りたい。

2
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?