>>105
何がわからないのか全然わからない
そのソースコードを実行するとどうなるのか、期待値は何なのか書かないと

まあ、ひとまず temp を配列にしないとダメじゃない?

Dim temp() As String
Dim i As Integer

Redim temp(Range("C2:C6").Rows.Count)

i=0
For Each Target In Range("C2:C6")

temp(i) = StrConv(Target.Value, vbUpperCase)
i = i + 1

Next

Range("C2:C6") = temp