| 
    
     |  | ▼トキノハジメ さん:こんにちは〜 >
 >kanabunさんに教えて頂きたいのですが
 >A1 B1 C1 をD3 D4 D5になった場合は如何すればよいのか教えてください。
 
 以下のように元の表が[D3]から始まっているなら、
 
 D  E  F  G
 3 6  5  4  ×
 4 3  4  2  〇
 5 6  7  8  ◎
 6 6  5  6  △
 7 8  8  3  △
 
 Sub Try1() のFor〜Nextループ文を
 > With Range("D3", Cells(Rows.Count, "F").End(xlUp))
 > End With
 で括ってやり、内部の Cells(i, j) を .Cells(i, j) のように
 Cellsのまえにドットをつけてやれば、その他の変更は無用です。
 
 Sub Try2()
 Dim maxVal As Long, maxCol As Long
 Dim i As Long, j As Long
 
 With Range("D3", Cells(Rows.Count, "F").End(xlUp))
 For i = 1 To .Rows.Count
 maxVal = .Cells(i, 1) '初めは1列目の値を
 maxCol = 1     '最大値とし
 For j = 2 To 3   '2,3列目の値をこれと比較
 If maxVal < .Cells(i, j) Then 'これまでの最大値より
 maxVal = .Cells(i, j)  '大きかったら、この値を最大値に
 maxCol = j       'かつ、最大値の列番号を更新
 ElseIf maxVal = .Cells(i, j).Value Then '値が最大値と同じとき
 maxCol = maxCol + j - (j < 3) '列番号を3以上にする
 End If
 Next
 .Cells(i, 4).Value = Choose(maxCol, _
 "×", "〇", "◎", "△", "△") 'maxColの値により記号を返す
 Next
 End With
 End Sub
 
 
 けれど、
 
 >A1 B1 C1 をD3 D4 D5になった場合は如何すれば
 
 これは列方向が行方向に変わるのですから、別の修正が必要です。
 ほんとに表がそのように変わったのですか?
 一応確認しときます。
 
 |  |