在尝试了几种不同的方法后,我陷入困境。基本上我有一张桌子,每30分钟左右完成一条线。用户将连续输入3个数字,计算接下来的3行。我想使用其中一个计算行作为触发器将整行复制到DB表(sheet2)。并在添加下一行时重复,依此类推。我似乎每次只能复制第一行。
该表用作硬拷贝批记录,因此我避免构建FORM。我开始使用以下内容,它适用于第1行(也调用录制的宏来复制某些标题数据)
`Private Sub Worksheet_Calculate()
If IsNumeric(Range("$h$9")) Then
If Range("$h$9").Value >= 1 Then
Application.Run "Macro1"
End If
End If
End Sub `
Macro1只是复制一些标题表单数据(日期/时间,机器信息等,只为表格和上述行输入一次)。
我希望这很清楚,有任何问题请告诉我
答案 0 :(得分:0)
欢迎来到SO
尝试使用如下的循环?根据需要更改i
的上限,也可以使用某种形式的行计数器,例如Cells(Rows.Count, 1).End(xlUp).Row
Private Sub Worksheet_Calculate()
Dim i As Integer
For i = 1 To 9000
If IsNumeric(Cells(i, 8)) Then
If Cells(i, 8).Value >= 1 Then
Application.Run "Macro1"
End If
End If
Next i
End Sub