- 締切済み
VisualBasic compile error
Sub Macro1r1() Dim r As Long, rr As Long Dim c As Long, cc As Long Dim w As Long, ww As Long Dim stopC As Long stopC = Range("IV1").End(xlToLeft).Column Range(Range("E1"), Cells(1, stopC)).DataSeries rowcol:=xlRows, Type:=xlDataSeriesLinear, Date:=xlDay, Trend:=True For r = 2 To Range("A65536").End(xlUp).Row Cells(r, "B").Resize(1, 3).ClearContents w = 0 For c = 5 To stopC If Cells(r, c).Interior.ColorIndex <> xlNone And Cells(r, c).Interior.ColorIndex <> xlAutomatic Then Cells(r, "B") = Cells(1, c).Value For cc = c To stopC If Cells(r, cc).Interior.ColorIndex = xlNone Or Cells(r, cc).Interior.ColorIndex = xlAutomatic Then Exit For End If w = w + 1 Next cc If cc = stopC Then Cells(r, "C") = Cells(1, cc - 1).Value + 5 Else For rr = cc To stopC If Cells(r, rr).Interior.ColorIndex <> xlNone And Cells(r, rr).Interior.ColorIndex <> xlAutomatic Then For ww = rr To stopC If Cells(r, ww).Interior.ColorIndex = xlNone Or Cells(r, ww).Interior.ColorIndex = xlAutomatic Then Exit For End If w = w + 1 Next ww Next rr <------------------------- 次のerrorメッセ-ジ next without for が表示される。 Cells(r, "C") = Cells(1, rr - 1).Value + 5 End If Cells(r, "D") = w * 7 Exit For End If Next c Next r End Sub
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- TooManyBugs
- ベストアンサー率27% (1472/5321)
既に回答が出ているけど。 机上で追えばすぐに解るはず。 機械や他人を頼らず自分の頭で考える習慣を付けよう。
- kmee
- ベストアンサー率55% (1857/3366)
いろんなものの対応を線で結んでみましょう。そのとき、全部左とか全部右とか、線を引く場所を決めておきます。 Forとnext if~then~else~end if などなど。 その線が交差しないように書けますか? 書けなければ、どこか構造がおかしい、ということです
お礼
kmeeさん 回答ありがとう。 if~then~else~end if で躓いていました。
お礼
TooManyBugs 回答ありがとう。 確かに機械や他人を頼らず自分の頭で考える習慣を付ける必要感じます。 長時間同じところでloopしていましたので、力尽きHelpしてしまいました。