Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11345 / 76735 ←次へ | 前へ→

【70928】Re:検索し、該当した行の列に置き換える
発言  kanabun  - 12/1/18(水) 9:29 -

引用なし
パスワード
   ▼シンク さん:

>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列に●●が書いてないときは、ホスト名が拾えていても
書き出されません。

したときは
4 hits

【70912】検索し、該当した行の列に置き換える シンク 12/1/17(火) 0:50 質問
【70913】Re:検索し、該当した行の列に置き換える kanabun 12/1/17(火) 9:03 発言
【70927】Re:検索し、該当した行の列に置き換える シンク 12/1/18(水) 0:42 質問
【70928】Re:検索し、該当した行の列に置き換える kanabun 12/1/18(水) 9:29 発言
【70929】Re:検索し、該当した行の列に置き換える kanabun 12/1/18(水) 10:18 発言
【70946】Re:検索し、該当した行の列に置き換える シンク 12/1/19(木) 22:13 質問
【70947】Re:検索し、該当した行の列に置き換える kanabun 12/1/19(木) 22:48 発言
【70982】Re:検索し、該当した行の列に置き換える シンク 12/1/23(月) 15:30 お礼

11345 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free