質問: マクロ「a1の値は、セル範囲でa1:ab39の右2文字が yr と書いてあるセルの右隣の値」 よろしくお願いします いつもgooの皆さんに大変お世話になっています エクセルは2013です マクロで 「a1の値は、セル範囲でa1:ab39の値(文字列)の右端2文字が yr と書いてあるセルの右隣の値」 はどういうコードになるでしょうか 例えば セル d10 の値(文字列)が、「2月合計yr」でしたら セル a1 には 右隣のセル e10 の値を表示したいのです 右2文字は ucase(right(セル,2)) ですが 「セル範囲a1:ab39で、そのセルの右端2文字がyrと書いてあるセルの右隣のセル」を 探す方法が分かりません
回答: 本来、以下は省略して書くことが多いのですが、明示的に書かせていただきます。 ucase(right(セル,2)) ->matchcase:=false 全角半角の違いは、matchbyte:=false 末尾のyr を探すのは、what:="*yr" (lookat:=xlwholeも必要) 現在のコードは1回限り after:=range("a1") 続けるなら、activecell 私は、ここのカテゴリでは、質問者さんから、答えだけ書いてりゃいいのだ、というので、みなさんから評判が悪いようです。 どなたかの回答をお待ちになっても良いかと思います。 '// sub searchchars() dim c as range with range("a1:ab39") set c = .find( _ what:="*yr", _ after:=range("a1"), _ lookin:=xlvalues, _ lookat:=xlwhole, _ searchorder:=xlbyrows, _ matchcase:=false, _ matchbyte:=false) if not c is nothing then c.offset(, 1).value = range("a1").value end if end with end sub '//