Realize,Inc.

VBAコラム

Ping結果をExcelに一覧表示する

Ping確認の結果をExcelで見える化しましょう

複数のIPアドレスへPingを実行し、 成功・失敗の結果をExcelに一覧表示します。 手作業で確認していた疎通確認を、VBAで効率化するためのサンプルです。

VBAでPing結果をExcelに表示するイメージ

できること

  • ExcelのA列に入力したIPアドレスへPingを実行する
  • 疎通確認の成功・失敗をB列へ表示する
  • 複数機器の通信状態を一覧で確認する

処理の流れ

flowchart TB
	Start[Excel VBA]
	Input[確認対象を入力]
	Run[Ping結果をExcelに一覧表示する]
	Result[結果を一覧表示]
	Copy[必要に応じて記録・共有]

	Start --> Input
	Input --> Run
	Run --> Result
	Result --> Copy

VBAコード

Sub CheckPingList()

    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim ipAddress As String
    Dim command As String
    Dim result As Long
    Dim wsh As Object ' WScript.Shell用に追加

    Set ws = ActiveSheet
    Set wsh = CreateObject("WScript.Shell") ' オブジェクト生成
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    ws.Range("B1").Value = "確認結果"

    For i = 2 To lastRow

        ipAddress = Trim(ws.Cells(i, "A").Value)

        If ipAddress <> "" Then
            command = "ping -n 1 -w 1000 " & ipAddress
            ' 第2引数0は非表示、第3引数Trueは処理完了を待機して終了コードを取得
            result = wsh.Run("cmd /c " & command, 0, True)

            ' 終了コード(result)が0なら成功、それ以外は失敗
            If result = 0 Then
                ws.Cells(i, "B").Value = "成功"
            Else
                ws.Cells(i, "B").Value = "失敗"
            End If
        Else
            ws.Cells(i, "B").Value = "IP未入力"
        End If

    Next i

    Set wsh = Nothing ' オブジェクト解放
    MsgBox "確認が完了しました。", vbInformation

End Sub

コードの解説

  1. 確認対象をA列から取得する

    ExcelのA列に入力されたIPアドレスを、2行目から順番に読み取ります。

  2. Pingコマンドを実行する

    Windowsの ping コマンドをVBAから実行し、指定したIPアドレスへ疎通確認を行います。

  3. 終了コードで結果を判定する

    コマンドの終了コードが 0 の場合は成功、それ以外の場合は失敗として扱います。

  4. Excelへ結果を出力する

    確認結果をB列へ出力し、複数IPの状態を一覧で確認できるようにします。

入力例

IPアドレス 確認結果
192.168.1.1 成功
192.168.1.10 成功
192.168.1.20 失敗

注意点

本ページの内容は、自社または管理対象ネットワークの確認を目的としたものです。 許可のないネットワークに対して探索や調査を行わないでください。

Ping応答は、端末側のファイアウォール設定によって拒否される場合があります。 そのため、失敗と表示されても、必ずしも機器が存在しないとは限りません。

まとめ

  • VBAを使うと複数IPへのPing結果をExcelに一覧表示できます
  • 成功・失敗を一覧化することで、確認作業を効率化できます
  • 管理対象ネットワークでのみ利用してください

ネットワーク設計・トラブル対応でお困りではありませんか?

株式会社リアライズがサポートいたします。

  • ネットワーク設計・構築
  • トラブル調査・改善
  • 業務効率化・自動化
お問い合わせはこちら