Hello All,
From browsing this site, I have managed to get some code to put into an excel document I am using.

I was just wondering if anyone could tell me how to amend the code so that instead of showing the result "Connected" ( Case 0: strResult = "Connected") it could tell me what the IP address of that result is.

Thank you very much in advance.

Code Below:


'Written: October 28, 2009
'Author:  Leith Ross
'Summary: Pings either a local or remote cpmputer and returns the result as a string.
'         This code uses the WMI to retrieve the information. It runs on Windows 2000
'         2002, 2003, and XP.This code has not been tested on Windows Vista or later.
'         The variable "Host" can be either a local or remote IP address an DNS name.

Function GetPingResult(Host)

   Dim objPing As Object
   Dim objStatus As Object
   Dim Result As String

   Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}"). _
       ExecQuery("Select * from Win32_PingStatus Where Address = '" & Host & "'")

   For Each objStatus In objPing
      Select Case objStatus.StatusCode
         Case 0: strResult = "Connected"
         Case 11001: strResult = "Buffer too small"
         Case 11002: strResult = "Destination net unreachable"
         Case 11003: strResult = "Destination host unreachable"
         Case 11004: strResult = "Destination protocol unreachable"
         Case 11005: strResult = "Destination port unreachable"
         Case 11006: strResult = "No resources"
         Case 11007: strResult = "Bad option"
         Case 11008: strResult = "Hardware error"
         Case 11009: strResult = "Packet too big"
         Case 11010: strResult = "Request timed out"
         Case 11011: strResult = "Bad request"
         Case 11012: strResult = "Bad route"
         Case 11013: strResult = "Time-To-Live (TTL) expired transit"
         Case 11014: strResult = "Time-To-Live (TTL) expired reassembly"
         Case 11015: strResult = "Parameter problem"
         Case 11016: strResult = "Source quench"
         Case 11017: strResult = "Option too big"
         Case 11018: strResult = "Bad destination"
         Case 11032: strResult = "Negotiating IPSEC"
         Case 11050: strResult = "General failure"
         Case Else: strResult = "Unknown host"
      End Select
      GetPingResult = strResult
   Next

   Set objPing = Nothing

End Function


Sub GetIPStatus()

  Dim Cell As Range
  Dim ipRng As Range
  Dim Result As String
  Dim Wks As Worksheet
  
    Set Wks = Worksheets("Machines")
    
    Set ipRng = Wks.Range("C3")
    Set RngEnd = Wks.Cells(Rows.Count, ipRng.Column).End(xlUp)
    Set ipRng = IIf(RngEnd.Row < ipRng.Row, ipRng, Wks.Range(ipRng, RngEnd))
    
      For Each Cell In ipRng
        Result = GetPingResult(Cell)
        Cell.Offset(0, 1) = Result
      Next Cell
      
End Sub