|
▼シンク さん:
>Sheet2のB列にA列IPアドレスに対応するホスト名を書き出すでほぼ問題ありません。
>ただSheet2のB列●●にSheet1のホスト名を代入させたいと考えております。
>Sheet2
> A B
>1 IPアドレス メッセージ
>2 1.222.333.2 ●●にてメール受信。
Sheet1の対応表を表引きする方法はいろいろあると思いますが、
ワークシート関数の LOOKUPだと列順が合わないので、
以下のサンプルでは
ワークシート関数のMatchでIPアドレスを拾ってみました。
'Sheets(2) のB列に A列のIPアドレスに対応するホスト名を
'Sheets(1) の対応表から拾いだし(Lookup)、 書き出す→ ●●部分をホスト名に書き換える。
Sub LookupIP()
Dim LookupTable As Range
Dim c As Range
Dim m
Dim HostName As String
With Worksheets(1)
Set LookupTable = .Range("D2", .Cells(.Rows.Count, "E").End(xlUp))
End With
With Worksheets(2)
For Each c In .Range("A2", .Cells(.Rows.Count, 1).End(xlUp))
m = Application.Match(c, LookupTable.Columns(2), 0)
If IsNumeric(m) Then
HostName = LookupTable.Item(m, 1)
c(1, 2).Value = Replace(c(1, 2), "●●", HostName)
End If
Next
End With
End Sub
Sheet1の表が不十分だったり、
Sheet2のA列に空白行があったり、したときは、エラーが発生します。
また Sheet2 B列に●●が書いてないときは、ホスト名が拾えていても
書き出されません。
したときは
|
|