• ベストアンサー

Excel VBA でA列の中に、1か10以外の数字があった場合にB1

Excel VBA でA列の中に、1か10以外の数字があった場合にB1のセルに×と表示させるにはどうすればよろしいでしょうか?よろしくおねがいします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんにちは! 一例です。 Sub test() Dim i As Long For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row If Cells(i, 1) <> 1 And Cells(i, 1) <> 10 Then Cells(1, 2) = "×" End If Next i End Sub こんな感じですかね? 参考になれば幸いです。m(__)m

その他の回答 (6)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.7

A列の全体の数-(1である数)-(10である数)でも求められると 思います。 VBAでやろうとするといろいろ策がありますから、 ○○をやりたいけども「xxx」を使った対応サンプルを知りたい、 とかにした質問のがいいと思います。

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

一例です。 数字(数値)を対象に1、10以外があった場合にB1に「×」を設定 Sub A列チェック() Range("B1") = "" For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 If LenB(Cells(i, 1)) > 0 And IsNumeric(Cells(i, 1)) Then If Cells(i, 1) <> 1 And Cells(i, 1) <> 10 Then Range("b1") = "×" End If End If Next i End Sub

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.4

(1)Excel VBA で・・ こんな内容はVBAでも極く学習初期にやる易しいこと。 A列の各セルの値が「1か10以外の数字があ」るかどうかIF分で聞いて、あればRange("B1")の値を”X"にする。 見つかったところでやめるもよし、最後行までやるのよし。 IF文は1か10以外はOr条件でつなぐ 下記のようにA列最終行が必要なやり方をするかもしれない。 繰り返し法 Sub test01() s = "": Cells(1, "B") = "" For i = 1 To Range("a65536").End(xlUp).Row If Cells(i, "A") = 1 Or Cells(i, "A") = 10 Then Else s = "x" MsgBox Cells(i, "A") End If Next Cells(1, "B") = s End Sub 空白セルは特別扱いするのかどうか。 (2)エクセル関数 こんなのエクセルでは関数でA:Aに1か10以外のセル数をクンとして”X”をセットすればしまいだ。 (3)関数法 VBAでCOUNTIF関数を使う方法もある (4)その他 フィルタやFindを使う方法もあるかもしれない。 (余談)抜き出す場合、フィルタオプションの設定でする場合 データ 1 1 2 10 1 10 3 a の場合 条件は、横のセルに並べて データ データ <>1 <>10 結果 データ 2 3 a

  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.3

EXCELの配列数式を使用しています。 範囲はA1~A列の最終行です。 ※必要なら変更して下さい。 Sub 検査1か10()  置換範囲 = "A1:" & Cells(Rows.Count, "A").End(xlUp).Address  Range("B1").FormulaArray = Replace("=sum((範囲<>1)*(範囲<>10))", "範囲", 置換範囲)  Range("B1") = IIf(Range("B1") = 0, "", "×") End Sub

  • mar00
  • ベストアンサー率36% (158/430)
回答No.2

Sub Macro1() GYOU = Range("A65536").End(xlUp).Row '終了行 For i = 2 To GYOU '開始行と終了行 If Cells(i, 1) <> 1 And Cells(i, 1) <> 10 Then Cells(i, 2) = "×" End If Next i End Sub 開始行が分からなかったので、2行目から始まるようにしています。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

COUNTで、A列の数値の個数を求め、COUNTIFでA列の1と10の個数を求めます。 数値の個数と、1と10の個数の合計が等しければ1と10以外無しとなります。 =IF(COUNT(A:A)=(COUNTIF(A:A,1)+COUNTIF(A:A,10)),"○","×")

関連するQ&A