コピー/貼り付けなしでセルを変更する

コピー/貼り付けなしでセルを変更する

リストがもっと長くなったと想像してください... A と B の両方のセルを列 C の適切な名前/ID に置き換える方法はありますか? 「適切な名前」は列 C にあるもの (名前が一致) です。これが最終結果ですはい、コピー/貼り付けは機能しますが、全体が 5000 文字の長さで、列 C が完璧な順序になっていない場合、何時間もかかります。

ここに画像の説明を入力してください

答え1

VBAを使用すると、検索した値をこのように置き換えることができます。置換値がどこにあるか、および検索する項目の範囲を指すように範囲を調整します。

Sub substituteLookedUp()
Dim myStr As String
Dim matchDbl As Double
Dim Rng As Range
   Set Rng = Range("C1:C10")

   For Each cell In Range("a1:b12")
      If cell <> "" Then
           myStr = Mid(cell, WorksheetFunction.Find(" ", cell) + 1, Len(cell) - WorksheetFunction.Find(" ", cell)) & "_" & Left(cell, WorksheetFunction.Find(" ", cell) - 1) & "*"
           matchDbl = WorksheetFunction.Match(myStr, Rng, 0)
           newStr = Range("C" & matchDbl)
         Else: newStr = ""
       End If
     cell.Value = newStr
   Next

終了サブ

関連情報