[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『EXCELLのマクロでのIPアドレスの比較に関して』(ヤス)
EXCELLのマクロで、あるIPアドレスを他のIPアドレスの範囲内にあるかないかを比較したいのですが、VBAでの記述方法がわかりません。 どなたかご存じないでしょうか? 一例を以下に述べます。 192.168.10.124が、192.168.0.0〜192.168.40.255の範囲内にあるかないかを判定。 この場合、範囲内に入っているので、OKと判定したいのですが、IPアドレスは「.(ドット)」で区切られているため、困っております。 もしご存知でしたら、お願いいたします。
お使いのExcelのバージョンは何でしょう? 3桁の数字に変換してから比較するのはどうでしょう? 手順どおりにコードを書くとこんな感じになると思います。(Hatch) Sub test2() Dim c As Range Dim myP Dim myIp(3) As String For Each c In Selection myP = Split(c.Value, ".") myIp(0) = Right("000" & myP(0), 3) & "." myIp(1) = Right("000" & myP(1), 3) & "." myIp(2) = Right("000" & myP(2), 3) & "." myIp(3) = Right("000" & myP(3), 3) myIp(0) = myIp(0) & myIp(1) & myIp(2) & myIp(3) Select Case myIp(0) Case "192.168.000.000" To "192.168.040.255" c.Offset(0, 1).Value = "OK" Case Else c.Offset(0, 1).Value = "X" End Select Next c End Sub
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.