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

解決済みの質問

マクロでセル値をAND

xxx3xx3x
x2x313x1
2x2132xx  sheet1

x2x122xx
1xx22x3x
x1x33321  sheet2

xxx1xxxx
xxx22xxx
xxx333xx  sheet3

上記のようなデータがあり、各文字はセル1つずつに入っています。
sheet3はsheet1とsheet2のANDであり、片側がxならばsheet3ではx、
違う数値同士ならばsheet2の値を活かす としています。
これを実現するマクロの例を1つ挙げて頂ければと思います。
よろしくお願いします。

投稿日時 - 2011-09-17 15:53:15

QNo.7016915

暇なときに回答ください

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

>sheet3はsheet1とsheet2のANDであり、…

フム。。??

作成例:
sub macro1()
 dim Target as range
 set target = worksheets("Sheet1").range("A1:H3")
 ’あるいは
 ’set target = worksheets("Sheet1").range("A1").currentregion

 with worksheets("Sheet3").range(target.address)
  .formula = "=IF(COUNT(Sheet1:Sheet2!A1)=2,Sheet2!A1,""X"")"
  .value = .value
 end with
end sub




#「絶対マクロじゃなきゃイヤ」というんじゃなければ,シート3のA1に
=IF(COUNTA(Sheet1:Sheet2!A1)<2,"",IF(COUNT(Sheet1:Sheet2!A1)=2,Sheet2!A1,"X"))
のような式を入れて,近所のセルにコピーして貼り付けておいてください。

投稿日時 - 2011-09-17 16:35:04

補足

あぁぁぁぁ、、、、
ズレた事を口走ってしまいました。
無視して頂いて助かりました!
アンドーです

投稿日時 - 2011-09-17 17:07:59

お礼

回答ありがとうございます。
やはりワークシート関数も盛り込まないと難しいですよね?
というか、使わずにやるとかなり長めのコードになってしまいます。
今後もよろしくお願いします。

投稿日時 - 2011-09-17 17:02:45

ANo.2

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

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

回答(2)

ANo.1

sheet3のA1に以下の計算式を入力して、縦横にコピーすればOKです。

=IF(Sheet1!A1<>"x",IF(Sheet2!A1<>"x",Sheet2!A1,"x"),"x")

投稿日時 - 2011-09-17 16:26:31

お礼

素早い回答ありがとうございました。
今後もよろしくお願いします。

投稿日時 - 2011-09-17 17:03:43

あなたにオススメの質問