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

締切り済みの質問

Excel VBAで初心者です。

Excel VBAで初心者です。

他のExcelファイルのワークシートのデータを選択して取得したいのですが

Aファイルのシート1のセルA3に入力されている月が4~11と入力されていた場合
ファイル名「B」を、月が6~1が入力されていた場合、ファイル名「C」のデータを
見にいき、更に
Aファイルのシート1のセルA1に入力されている西暦と、セルA3に入力されている月が
B又はCファイルのシート名[西暦(月)]もしくは平成○年○月度と表示されている(2001/8/1)月
からマイナス1したものとマッチさせて、あったらその中のセルデータを
Aファイルに表示させたいと思っています。

今はファイル名と場所を強制的に開くように指示してある状態ですが、
上記の希望のように選択してデータを表示するようにしたいのです。

VBAでは無理なのでしょうか?
もしやり方がありましたら、ご指導いただきたくお願い申し上げます。

投稿日時 - 2010-09-22 12:01:58

QNo.6199632

困ってます

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

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

回答(1)

ANo.1

>Aファイルのシート1のセルA3に入力されている月が4~11と入力されていた場合ファイル名「B」を、月が6~1が入力されていた場合、ファイル名「C」のデータを見にいき

6~1とは1,2,3,4,5,6のいずれかって事?それとも『6~1』と入力されていたらって事?
1~6でファイルC、4~11でファイルBの読み込みの場合入力値が4,5,6の場合は重複しますがその場合はどちらの処理を行うのかな?

>シート名[西暦(月)]もしくは平成○年○月度と表示されている(2001/8/1)月

シート名の統一化はされていないのかな?
数値の半角・全角の違いも含めてシート名を順に拾い出して照合したら可能です。

投稿日時 - 2010-09-22 12:37:16

補足

説明不足でスミマセン・・・

そうです、123456という感じです。
1月としたらマイナス1ヶ月の12月のシートがある
ファイル[C]を見に行き、その中のシート2010(12)とマッチしたら
そのシートの中のセルのデータを表示したいのです。

シート名の定義は[西暦(月)]です。200810(12)みたいな感じです。

IF文で行うのでしょうか?どういうコードを組んでよいのか全くわからなくて
困っています。よろしくお願いいたします。

投稿日時 - 2010-09-22 13:36:30

あなたにオススメの質問