我有一个数据分配,它根据用户选择分配数据。 此代码有效,但数据分配在第34行停止。
尝试将“TRY”值更改为1000,以便生成更多数据,但仍然在第34行停止。
没有错误提示,代码仍然有效,但数据分配在第34行停止,并且无需删除数据。
这是我的代码:
Sub MapTIX()
Dim YRTCounter As Long, TRYCounter As Long, YRT As Long, TRY As Long
Dim nextrow As Long
Dim dummy As String
Dim StartQ As String
StartQ = ActiveSheet.Range("K7").Value
YRT = ActiveSheet.Range("B4").Value
TRY = ActiveSheet.Range("F4").Value
nextrow = ActiveSheet.Range("O4").Value + 3
YRTCounter = 4
TRYCounter = 4
If StartQ = "YRT" Then
If YRT >= TRY Then
YRT_YRTTRY_TIX
Else
YRT_TRYYRT_TIX
End If
End If
If StartQ = "TRY" Then
If YRT <= TRY Then
TRY_TRYYRT_TIX
Else
TRY_YRTTRY_TIX
End If
End If
End Sub
Sub YRT_YRTTRY_TIX()
Dim YRTCounter As Long, TRYCounter As Long, YRT As Long, TRY As Long
Dim nextrow As Long
Dim dummy As String
YRT = ActiveSheet.Range("B4").Value + 3
TRY = ActiveSheet.Range("F4").Value + 3
nextrow = ActiveSheet.Range("O4").Value + 4
YRTCounter = 4
TRYCounter = 4
nexc = 4
For YRTCounter = 4 To YRT
ActiveSheet.Range("Q" & nextrow).Value = ActiveSheet.Range("D" & YRTCounter).Value
ActiveSheet.Range("V" & nextrow).Value = ActiveSheet.Range("D28").Value
nextrow = ActiveSheet.Range("O4").Value + 4
ActiveSheet.Range("Q" & nextrow).Value = ActiveSheet.Range("H" & TRYCounter).Value
ActiveSheet.Range("V" & nextrow).Value = ActiveSheet.Range("D28").Value
TRYCounter = TRYCounter + 1
nextrow = ActiveSheet.Range("O4").Value + 4
Next YRTCounter
End Sub
Sub YRT_TRYYRT_TIX()
Dim YRTCounter As Long, TRYCounter As Long, YRT As Long, TRY As Long
Dim nextrow As Long
Dim dummy As String
YRT = ActiveSheet.Range("B4").Value + 3
TRY = ActiveSheet.Range("F4").Value + 3
nextrow = ActiveSheet.Range("O4").Value + 4
YRTCounter = 4
TRYCounter = 4
For TRYCounter = 4 To TRY
ActiveSheet.Range("Q" & nextrow).Value = ActiveSheet.Range("D" & YRTCounter).Value
ActiveSheet.Range("V" & nextrow).Value = ActiveSheet.Range("D28").Value
nextrow = ActiveSheet.Range("O4").Value + 4
ActiveSheet.Range("Q" & nextrow).Value = ActiveSheet.Range("H" & TRYCounter).Value
ActiveSheet.Range("V" & nextrow).Value = ActiveSheet.Range("D28").Value
YRTCounter = YRTCounter + 1
nextrow = ActiveSheet.Range("O4").Value + 4
Next TRYCounter
End Sub
Sub TRY_YRTTRY_TIX()
Dim YRTCounter As Long, TRYCounter As Long, YRT As Long, TRY As Long
Dim nextrow As Long
Dim dummy As String
YRT = ActiveSheet.Range("B4").Value + 3
TRY = ActiveSheet.Range("F4").Value + 3
nextrow = ActiveSheet.Range("O4").Value + 4
YRTCounter = 4
TRYCounter = 4
For YRTCounter = 4 To YRT
ActiveSheet.Range("Q" & nextrow).Value = ActiveSheet.Range("H" & TRYCounter).Value
ActiveSheet.Range("V" & nextrow).Value = ActiveSheet.Range("D28").Value
nextrow = ActiveSheet.Range("O4").Value + 4
ActiveSheet.Range("Q" & nextrow).Value = ActiveSheet.Range("D" & YRTCounter).Value
ActiveSheet.Range("V" & nextrow).Value = ActiveSheet.Range("D28").Value
TRYCounter = TRYCounter + 1
nextrow = ActiveSheet.Range("O4").Value + 4
Next YRTCounter
End Sub
答案 0 :(得分:0)
增加MaxCase
将不会在该代码中执行任何操作。
我假设下面单元格中的值是31.添加3到最后是你在第34行循环结束的原因
YRT = ActiveSheet.Range("B4").Value + 3
尝试增加ActiveSheet.Range("B4")
中的值,看看你的循环是否会更进一步。