
答え1
1 つのオプションは、Excel のフィルター オプションを使用して、列 B でアルファベット順に並べ替えることです。別のシートに本当に必要な場合は、次のシートにコピーして貼り付けることができます (並べ替えによってすべてがグループ化されるため)。
あるいは、各行の列 B を読み取り、コンテンツが「Hot: Must Cover」の場合はその行をコピーするマクロを記述する必要があります。
次のような内容です:
Dim i as Integer
Dim j as Integer
i = 0
j = 0
Do While Cells(i, 2).value != ""
if Cells(i, 2).Value == "Hot: Must Cover" Then
Worksheets("Sheet1").Range(Cells(j, 0), Cells(j, 7).Value = Worksheets("Sheet1").Range(Cells(i, 0), Cells(i, 7).Value
j = j + 1
End if
i=i+1
loop
答え2
VLOOKUP
これを(または他のルックアップ)で実現するのは難しいと思います。次の VBA ソリューションを検討してください。
Sub test
Dim ws1 As Worksheet, ws2 As Worksheet
Dim j As Integer
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
j = 1
For i = 2 To (ws1.Range("A1").ListObject.DataBodyRange.Count + 1)
If ws1.Range("B" & i).Value = "HOT: Must Cover" Then
ws1.Range("A" & i & ", G" & i).Copy
ws2.Range("A" & j).PasteSpecial xlPasteValues
j = j + 1
End If
Next i
End Sub