[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルが空欄の場合だけvlookupで数字を反映させたい』(テレワーク疲労)
教えてください。
サイトなどを見ながら、VLOOKUPを実行したく下記のようにしました。
Sub Macro1()
Dim SerchKey As Range Dim SerchRange As Range Dim OutputRange As Range Dim i As Long On Error Resume Next
Set SerchKey = ThisWorkbook.Worksheets(1).Range("P9:P2000") Set SerchRange = ActiveWorkbook.Worksheets(1).Range("A2:AI2000") Set OutputRange = ThisWorkbook.Worksheets(1).Range("H9:H2000")
For i = 1 To SerchKey.Rows.Count OutputRange(i, 1) = WorksheetFunction.VLookup(SerchKey(i, 1), SerchRange, 9, False) Next End Sub
ThisWorkbook.Worksheets(1)のP9〜P2000を検索キーに、
ActivWorkbook.Worksheets(1)のA2〜AI2000の中の9列目(この場合は、I列)を検索して、
ThisWorkbook.Worksheets(1)のH列に反映させようと思っています。
このコードで問題なく稼働できたのですが、
ThisWorkbook.Worksheets(1)のI列にそもそも数値が入っている場合には、
置き換えをせずにそのままの数値を入力しておきたい場合は、どのようにしたらよいでしょうか?
IFを使うかたちでしょうか?
< 使用 Excel:Excel2010、使用 OS:Windows10 >
質問の意味を理解していないかもしれませんが、
If ThisWorkbook.Worksheets(1).Cells(i, "I").Value = "" Then OutputRange(i, 1) = WorksheetFunction.VLookup(SerchKey(i, 1), SerchRange, 9, False) End IF
そもそも、ThisWorkbook が ActivWorkbook ではない状況がピンときません。 ActivWorkbook が特定のBookであるなら、その名前を書いた方がはっきりしていいような気がしますが。
(自信なし) 2020/05/20(水) 19:02
ActiveWorkbookは、週ごとのデータになるので特定の名前のデータではなく、
毎回名前が変わってしまうのです。
※こんな感じです
0519データ
0526データ
(テレワーク疲労) 2020/05/21(木) 10:48
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.