|
▼トキノハジメ さん:
>panpanさんのコードで
>If .CountIf(r, v) > 1 Then
>の所が構文エラーと成るのですが
さて、何ででしょう? 分かりませんね。
なお、
>A1 B1 C1 をD3 D4 D5になった場合は如何すればよいのか教えてください。
>宜しくお願いいたします。
が、行単位でなく列単位であるってことなら、
私のコードにおける修正としては、
以下のような感じでしょうか?
Sub sample()
Dim r As Range
Dim v As Variant, n As Long
' For Each r In Range("A1:C5").Rows
For Each r In Range("D3:Z5").Columns
With WorksheetFunction
v = .Max(r)
If .CountIf(r, v) > 1 Then
n = 4
Else
On Error Resume Next
n = 0
n = .Match(v, r, 0)
On Error GoTo 0
End If
End With
' r.Range("D1").Value = Choose(n, "×", "○", "◎", "△")
r.Range("A4").Value = Choose(n, "×", "○", "◎", "△")
Next
End Sub
cf.
なお、シートのデータが数値で無かった場合はMatchでエラーになる可能性がありますのでその回避用にいれました。
|
|