• ベストアンサー

VBAにおけるRank関数について

たびたびの質問で申し訳ないです。VBAで、sheet"C"のC列に得点のデータがあって、D列に順位を付けていきたいのですが、うまくできません。↓のように書いたら、構文エラーが出てしまいます。どうかご回答よろしくお願いします。 For i = 2 To 43 Worksheets("C").Range ("Di").Value = Application.WorksheetFunction.Rank(Worksheets("C").Range ("Ci").Value. Worksheets("C").Range("B2:B43").0) Next i

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

変数も変ですが、Rank関数でもカンマとドットを混同してませんか? 多分、こういうことではないかと思うのですが・・・・。 With Sheets("C") For i = 2 To 43 .Cells(i, "D").Value = _ Application.WorksheetFunction.Rank(.Cells(i, "C").Value, .Range("B2:B43"), 0) Next i End With

uenao1
質問者

お礼

あっ、混同してました。今改めて実行すると上手くいきました。どうもありがとうございます。

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

Rangeの引数の指定が間違ってますよ D2やD3 が欲しいのであれば Range("D" & i)といった使い方をしましょう

関連するQ&A