アプリ版:「スタンプのみでお礼する」機能のリリースについて

Sub showMostFrequentNumber()
Dim i As Integer
Dim count(1 To 10) As Integer
Dim maxCount As Integer
For i = 1 To 10
count(i) = Application.CountIf(Range("A1:A10"), i)
If i = 1 Then
maxCount = count(i)
ElseIf count(i) > maxCount Then
maxCount = count(i)
End If
Next i
For i = 1 To 10
If count(i) = maxCount Then
Range("B10").Value = i
End If
Next i
End Sub

質問者からの補足コメント

  • うーん・・・

    お世話になっております。
    10個のセルを比べて一番の多くの出数字をB10に出したい思いますがその数字来ないよろしくお願いします。

      補足日時:2023/04/26 11:27
  • つらい・・・

    早速ありがとうございます
    6は正しいのでず20が3回とか30が3回とかの場合
    20がでてこないです

    No.2の回答に寄せられた補足コメントです。 補足日時:2023/04/26 13:09
  • へこむわー

    すみません初心者なもで
    何処の部分を変更するのでしょうか

    No.3の回答に寄せられた補足コメントです。 補足日時:2023/04/26 13:57

A 回答 (6件)

こんなのでもイケそうです!!



Sub test()
Range("B10").Value = WorksheetFunction.Mode_Mult(Range("A1:A10"))(1)
End Sub
    • good
    • 1

こんにちは



まったく別発想ですが、計算はエクセルにやってもらう方法での一例です。

Sub hoge()
 Const f = "=INDEX(A:A,MATCH(MAX(@),@,0))&"""""
 Const g = "INDEX(COUNTIF(A1:A10,A1:A10),)"
 Range("B10").FormulaLocal = Replace(f, "@", g)
 Range("B10").Value = Range("B10").Value
End Sub

※ 最大頻度の値が複数存在する場合は、最初のものが表示されます。
※ 複数ある場合に全部を求めるのなら、もう一工夫すればできるでしょう。
    • good
    • 2

提示されたマクロは、数字が1~10限定です。

ほかの数字でも成り立つようにしたい場合は、以下のようにしてください。

Sub showMostFrequentNumber()
Dim i As Integer
Dim count(1 To 10) As Integer
Dim maxcount As Integer
For i = 1 To 10
count(i) = Application.CountIf(Range("A1:A10"), Cells(i, 1).Value)
If i = 1 Then
maxcount = count(i)
ElseIf count(i) > maxcount Then
maxcount = count(i)
End If
Next i
For i = 1 To 10
If count(i) = maxcount Then
Range("B10").Value = Cells(i, 1).Value
End If
Next i
End Sub
    • good
    • 0

count(i) = Application.CountIf(Range("A1:A10"), Cells(i , 1).Value)



じゃないでしょうか?
そうしないとセルに入れる値は1~10に限定されます。
多分入れている値がその範囲を外れていてダメになっているのでは?
この回答への補足あり
    • good
    • 0

No1です。

添付図のような値をA列に設定し、マクロを実行するとB10に6が表示されました。
6が3つありますので、正しく表示されています。
あなたが、うまく行かないのは、具体的に、A1~A10にどのような値を設定した場合でしょうか。
「エクセル マクロ(A1:A10)までの中」の回答画像2
この回答への補足あり
    • good
    • 0

質問は何でしょうか。

    • good
    • 3

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!