- ベストアンサー
マクロの組み方
エクセルの関数で=IF(ISNA(MATCH(A2,$F$2:$F$6,0)),"×","○") をエクセル上で作成しましたが、これを、二つのシート1、シート2から別々にデータを持ってきた、シート3にマクロ式を組むときは、どのように組めばよいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
何がしたいのか質問文とNo1への補足からではよくわかりませんので、 こちらで想像して回答します。 Sheet1のA列のA1以下に連続して文字列データがある。 Sheet2のF列のF1以下に連続して文字列データがある。 Sheet1のA列のデータと完全一致するデータがSheet2のF列データにあれば、Sheet3のA列に上から順に表示する。 この前提でよければ以下のコードをお試しください。 Sub test01() Dim sh2 As Worksheet, sh3 As Worksheet, c As Range Set sh2 = Sheets("Sheet2") Set sh3 = Sheets("Sheet3") With Sheets("Sheet1") For Each c In .Range(.Cells(1, "A"), .Cells(Rows.Count, "A").End(xlUp)) If Not sh2.Range(sh2.Cells(1, "F"), sh2.Cells(Rows.Count, "F").End(xlUp)).Find(What:=c.Value, _ LookAt:=xlWhole) Is Nothing Then i = i + 1 sh3.Cells(i, "A") = c.Value End If Next c End With End Sub
その他の回答 (1)
- web2525
- ベストアンサー率42% (1219/2850)
>二つのシート1、シート2から別々にデータを持ってきた、シート3にマクロ式を組むとき 何をしたいのかが意味不明ですが 最初の関数式は指定範囲内に検索するデータが有るかないかを判定しているようですが、この計算式をマクロ化すると言う事でしょうか?
補足
説明不足ですいません。 シート1にたとえばAAB、ABC、ABD。シート2にABC、AAC、ABEというデータがあり、これをシート3にマクロで組むとどうなるかと。関数では、わかるのですが、マクロになると???なんです。これで、わかりますか?