| 
    
     |  | 学生です さん、こんばんわ。 
 ワークシート関数を使ってみたり(笑)
 Sub test()
 Dim r1 As Range, r2 As Range
 Set r1 = Range("A1:A30"): Set r2 = Range("B1:B30")
 With Application.WorksheetFunction
 Range("C1").Value = .Index(.LinEst(r1, r2), 2)
 Range("C2").Value = .Index(.LinEst(r1, r2), 1)
 End With
 Set r1 = Nothing: Set r2 = Nothing
 End Sub
 
 それはおいといて。
 
 >どこが悪いのか教えてください。
 とりあえずヒントだけ
 
 ↓xとyが0なので行番号として問題外なのでエラー
 >xi = Cells(x, 1).Value
 >yi = Cells(y, 2).Value
 
 ↓セルが参照されてないです(ただ1から30を足しているだけ)
 >For x = 1 To 30 Step 1
 >wx = wx + x
 >Next x
 >For y = 1 To 30 Step 1
 >wy = wy + y
 >Next y
 
 |  |