- ベストアンサー
VBA データ中の出現位置マッチングについて
お世話になります。 Excel2007 VBAなのですが 列の並び順が違う2つのデータ群A、B、がある時、 Aの並びに習ってBを並べ直す場合、 1つの式のみとか、1度の計算だけとか そんな位で並び順を得ること できますか? それともやっぱ 何回か、列数の文だけ 計算が必要ですか? 何となくですが、 スパッと取得できそうなおぼろげな予感がしてます。 例えば 配列数式の解として 配列で解を得て 配列変数などに格納する… 的なことができそうな気がしているのですが 如何でしょうか? ご至難をお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
並べ替えたいんじゃなくて数字が欲しいだけですね。失礼しました。 sub macro2() dim a dim h as range set h = range("B1:B" & range("B65536").end(xlup).row) a = application.match(h, range("A:A"), 0) h.offset(0, 1) = a end sub
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
>Aの並びに習ってBを並べ直す sub macro1() ’Aの並びを調べる application.addcustomlist range("A1:A" & range("A65536").end(xlup).row).value ’すぱっと並べ替える range("B:B").sort key1:=range("B1"), order1:=xlascending, header:=xlno, ordercustom:=application.customlistcount + 1 ’片づける application.deletecustomlist application.customlistcount end sub これ以上は特にフォローしませんが、そもそもご相談のヤリタイ事が説明不足です。 意図と違う結果となったなら、「どういう状況でどんな結果が欲しくて何をしたかったのか」更に詳しく説明を添えて、改めてご相談を投稿してみて下さい。
お礼
ありがとうございます。
お礼
ループでタク次的に1つ1つ調べずとも シート関数のようにズバッと取得できるのですね。 この言語すごいですね。 最近の言語はこんなこと 当たり前にできるものなのですか?