こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

エクセルVBA、マクロについて教えてください。

https://box.yahoo.co.jp/guest/viewer?sid=box-l-62itttdrrgzrvsaxkvu53tmg3a-1001&uniqid=d4c90186-7ae6-4c7a-8f04-a499509147fc&viewtype=detail


サンプルブックを見て頂きたいのですが、シートに分けておりますが、それぞれ別ブックとなります。

エクセルブックAにはシート1-シート10まであります。

ブックAのデータをVBAを使って、ブックBに転記したいのですが、

今はVBAがわからないため、作業列、関数を使って読み取っているのですが、検索をかけると、とても遅いため、関数を消すと早く検索が出来たため、VBAでデータを転記出来たらいいなと思っております。

いくつか条件があるのですが、
ブックAのAQ-ATが作業列としており、

ブックBのG-Uまで関数を入れております。

G4==SUMIFS('[ブックA.xlsx]シート1'!$AD:$AD,'[ブックA.xlsx]シート1'!$AQ:$AQ,$A4,'[ブックA.xlsx]シート1'!$AS:$AS,$F$2,'[ブックA.xlsx]シート1'!$AT:$AT,G$2)

H4==SUMIFS('[ブックA.xlsx]シート1'!$AD:$AD,'[ブックA.xlsx]シート1'!$AQ:$AQ,$A5,'[ブックA.xlsx]シート1'!$AS:$AS,$F$2,'[ブックA.xlsx]シート1'!$AT:$AT,H$2)

I4==SUMIFS('[ブックA.xlsx]シート1'!$AD:$AD,'[ブックA.xlsx]シート1'!$AQ:$AQ,$A4,'[ブックA.xlsx]シート1'!$AS:$AS,$F$2,'[ブックA.xlsx]シート1'!$AT:$AT,I$2)

同じような関数をG-Uまで入れております。


このような関数を入れております。

E4==VLOOKUP(A4,'[ブックA.xlsx]シート1'!$B:$AC,28,FALSE)


この関数をなくすとAdvancedFilterが早くなるので、ここの部分を転記出来たらと考えております。

ブックAとブックBはブックAのB列のコードとブックBのA列のコードが一致すれば、転記すると言った感じです。

決まっている部分は、商品コードは重複しないのと、ブックAのB列は結合されております。

結合セルのため、作業列を使用しておりました。

ブックAの基準をかえずに転記できる方法があればおしえてください。

投稿日時 - 2014-06-10 14:32:00

QNo.8631612

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

こんにちは。

直接の回答ではないのですが、誰もレスが付かないので書かせていただきます。

アップロードしたファイルの再現性--要するに、今回の質問上の数式を、ブックの部分を該当シートに書き換えて、そこに当てはめてみましたが、なぜか、手書きで入れた数字と同じ数字が出てこないので、継続は諦めました。もし、同じ数字が出てくるなら、難なくマクロ化は可能だと思います。

私だけかもしれませんが、ご質問のような、他人の立てた数式をVBA化するのは、あまり好んでしません。今使っているものへの、付加価値のようなものだからです。

特に、ワークシートのレイアウトが凝ったものは、手がつけにくいことだけは申しておきます。
シート側は、なるべく単純化されたものの方が、マクロ化しやすいです。

もう一度、分かりやすくしたものを、新しい質問にしたほうが解決が早いかもしれません。

なお、Webクエリの質問も出ているようですが、Webごとの解析が必要になることもありますので、具体例がないと、あまり積極的な回答はつかないと思います。

余計な話でしたら、どうか、スルーしてください。

投稿日時 - 2014-06-20 16:59:13

あなたにオススメの質問