2017-06-03 57 views
0

嗨,夥計們,我一直在使一個活動單元ping和輸出結果的麻煩,我有代碼,做一個整列,但我想創建一個按鈕,只做一個選定的單元格,並使其工作請問任何人都可以幫助我嗎? 這裏是我的代碼,我在網上發現的IM不確定如何修改它的一個細胞我已經嘗試了無數次都沒有成功...Ping一個單元格

Function GetPingResult(checkip) 

    Dim objPing As Object 
    Dim STATUS As Object 
    Dim Result1 As String 

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

    For Each objStatus In objPing 
     Select Case objStatus.statuscode 
     Case 0: Result1 = "ONLINE" 
     Case Else: Result1 = "OFFLINE" 
     End Select 
     GetPingResult = Result1 
    Next 

    Set objPing = Nothing 

End Function 

Sub GetIPStatus() 

    Dim Cell As Range 
    Dim IPRANGE As Range 
    Dim Result As String 
    Dim wks As Worksheet 


Set wks = Worksheets("Sheet1") 

Set IPRANGE = wks.Range("B3") 
Set RngEnd = wks.Cells(Rows.Count, IPRANGE.Column).End(xlUp) 
Set IPRANGE = IIf(RngEnd.Row < IPRANGE.Row, IPRANGE, wks.Range(IPRANGE, RngEnd)) 

    For Each Cell In IPRANGE 
    Result = GetPingResult(Cell) 
    Cell.Offset(0, 1) = Result 
    Next Cell 

End Sub 
------------------------------------ 
I tried this: 

Sub PingSelectedCell() 

Dim Cell As String 

ActiveCell.Select 
Cell = GetPingResult(ActiveCell.Value) 

Result = GetPingResult(Cell) 
ActiveCell.Offset(0, 1) = Result 

End Sub 

,但它只是返回下線不斷我失去了什麼?

回答

2
Cell = GetPingResult(ActiveCell.Value) 
Result = GetPingResult(Cell) 

你只需要一個語句來代替:

Result = GetPingResult(ActiveCell.Value) 

然後算賬:

ActiveCell.Offset(0, 1).Value = Result 
+1

你打我吧...... –

0

謝謝你這麼多,工作完美!

Sub PingSelectedCell() 

Dim Cell As String 

Result = GetPingResult(ActiveCell.Value) 
ActiveCell.Offset(0, 1).Value = Result 

End Sub 
相關問題