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

解決済みの質問

マクロ【シート間での文字列比較及び指定セルに置換】

いつも大変御世話になります。

【D:\test】フォルダ内に、1つのエクセルファイル(Excel2003)があります。

・エクセルファイル名は【test.xls】。
・シート【起動シート】・【マスタ】・【中間マスタデータ】があります。

今回悩んでいるのはシート名【起動シート】内にあるマクロボタンに入れるマクロです。

★シート【マスタ】には、日々、不定期に作成されるテキストファイルのデータ状態を記録したマスタシートです。
データ状態は記号で入力され、下記の4つになります。

・サイズのある良いデータの行には【○】
・サイズのある悪いデータの行には【×】
・サイズのない0件データの行には【0件】
・今回作成されなかったデータの行には【-】

シート【マスタ】には、以下のように入力されます。

A B C D E ←列

1

2 テキスト名 1日 2日 3日 4日 5日

3 L2001.txt ○ ○ ○ ○ ○

4 L2002.txt ○ × ○ ○ ○

5 L2015.txt ○ ○ ○ × ○

6 L2101.txt ○ 0件 ○ ○ ○

7 L2A05.txt ○ ○ ○ - ○

↑行

B2から右横に日付がふられ、すでに来年分までふられています。

★シート【中間マスタデータ】には、当日入力分のみのデータ振り分け結果が入力されています。

シート【中間マスタデータ】には、以下のように入力されます。

A B C D E ←列

1

2 GOOD 0_FILE BAD

3 L2001_20081206.txt L2015_20081206.txt L2A05_20081206.txt

4 L2002_20081206.txt L2101_20081206.txt

↑行

GOODの列・・・サイズのある良いデータの記号【○】に該当
0_FILEの列・・・・サイズのある悪いデータの記号【×】に該当
BADの列・・・サイズのない0件データの記号【0件】に該当

この【_20081206】は12月6日は12月6日分のデータという意味で、日によって日付でリネイムされています。

上図のデータを使用すると、例えば、6日なら【中間マスタデータ】を参照し、【マスタ】に入力すると以下のようになります。

A B C D E ←列

1

2 テキスト名 1日 2日 3日 4日 5日 6日

3 L2001.txt ○ ○ ○ ○ ○ ○

4 L2002.txt ○ × ○ ○ ○ ○

5 L2015.txt ○ ○ ○ × ○ ×

6 L2101.txt ○ 0件 ○ ○ ○ ×

7 L2A05.txt ○ ○ ○ - ○ 0件

↑行
3つの記号を一瞬で入力し、入力列は一番右端の空行の列、【今回作成されなかったデータの記号【-】】は残った空セルに入力。

これを一気に入力可能なマクロコードがどうしても書けません。

シート間の文字列比較をして、記号に変換する。
何かサンプルコードとかご提示いただけると助かります。

宜しくお願いいたします。

投稿日時 - 2008-11-29 18:11:17

QNo.4516746

困ってます

質問者が選んだベストアンサー

ちょっとした疑問ですので。

>2 テキスト名 1日 2日 3日 4日 5日 6日
って、何年何月の何日なのかが、わかるのかわからないのかで、回答も変わってくるように思いますが。
(シリアル値なのか文字列なのか・・・?)

結局2行目とA列のクロスした所に判定結果を入れていくというように、
読み取れたんですが違うかな。

投稿日時 - 2008-11-29 20:58:50

ANo.1

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

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

回答(1)

あなたにオススメの質問