• 締切済み

関数をVBAで書き直す

よろしくお願いします 下の関数をVBAで書き直す B5からB232までのセルに下記の関数を1つ1つ 書き込んでいるのですが、他にもC5:C232からS5:S232までの 17列のセルに書き込むのが大変な作業となってしまいますので なにとぞお知恵をお貸しください。 =IF(COUNT($AB$5:$AB$232)<1,"",VLOOKUP(SMALL($AB$5:$AB$232,1),$AB$5:$AG$232,6,6))   ~ IF(COUNT($AB$5:$AB$232)<233,"",VLOOKUP(SMALL($AB$5:$AB$232,232),$AB$5:$AG$232,6,6))

みんなの回答

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

NO1です。 >同じデーターが、表示されます。 ⇒列ごとに範囲を遷移させないといけないのであればその規則性を明示して頂かないと分かりませんので補足して下さい。

1211M
質問者

補足

返事が遅くなってすみません セルB5からB232まで各行に、空欄でエラーにならないように 条件を付けて表示する。 条件は、 B5セルには、 AB5からAB232までのカウントが1より 小さい場合は空欄にする。 その他の場合は、VLOOKUPを実行する。 B6セルには、 AB5からAB232までのカウントが2より 小さい場合は空欄にする。 その他の場合は、VLOOKUPを実行する。 B7セルには、 AB5からAB232までのカウントが3より 小さい場合は空欄にする。 その他の場合は、VLOOKUPを実行する。 以上の繰り返しをB232のセルまで続ける。 拙い説明ですみません よろしくお願いします

すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

VBAではありませんが次の一括入力方法は如何でしょうか。 (1)B5:S232範囲を選択 (2)数式バーに=IF(COUNT($AB$5:$AB$232)<ROW(A1),"",VLOOKUP(SMALL($AB$5:$AB$232,ROW(A1)),$AB$5:$AG$232,6,6))を入力、ctrl+enterキーを同時押下

1211M
質問者

補足

mu2011さん、早速の回答ありがとうございます 早速試したのですが、下記のように列単位で、 同じデーターが、表示されます。 AAA AAA AAA AAA 0 0 0 0 0 0 0 0 HHJ HHJ HHJ HHJ 0 0 0 0

すると、全ての回答が全文表示されます。

関連するQ&A