根据计算的触发器将行复制到DB工作表

时间:2014-09-23 09:58:05

标签: excel-vba vba excel

在尝试了几种不同的方法后,我陷入困境。基本上我有一张桌子,每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只是复制一些标题表单数据(日期/时间,机器信息等,只为表格和上述行输入一次)。

我希望这很清楚,有任何问题请告诉我

1 个答案:

答案 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