2

我有两张纸,第一张有以下字段:

表01

Code | Description    | Amount |
0f15 | Description 01 | 05     |
0f04 | Description 02 | 00     |
0rt7 | 03 Description |        |
0rt7 | Description 04 | 07     |

我需要的是,当用户输入的金额大于 00(1,2,3,4,5 ...)时,整行将插入到另一个包含相同字段的工作表中,但如果数量为零 (0) 或为空,未添加到下一回合的另一个工作表起始行。

工作表02

Code | Description    | Amount |
0f15 | Description 01 | 05     |
0rt7 | Description 04 | 07     |

示例图像

大家好,感谢您的回复,但是我无法应用其中任何一个。我会尝试更好地解释:

当在 Sheet1 的 H 列中输入非零值(并且不同于空白区域)时,包含该值的整行应复制到 Sheet2 的相应单元格中,类似于添加产品的发票,其金额为非零。我知道这是可能的,只是不知道该怎么做,因为我是 VBA 的外行。如果有人可以帮助我,我将不胜感激。

4

1 回答 1

0

您可以在第一个工作表 _Change 事件中尝试此代码。

Private Sub Worksheet_Change(ByVal Target As Range)
  On Error Resume Next
  If Target.Column <> 3 Or Target.Value = 0 Or Target.Value = "" Then
      Exit Sub
  End If
  Dim sht1 As Worksheet
  Dim sht2 As Worksheet
  Set sht1 = ActiveSheet
  Set sht2 = ThisWorkbook.Sheets("Sheet2")
  Target.EntireRow.Copy
  Dim iRow As Integer
  Dim rng As Range
  Application.ScreenUpdating = False
  sht2.Activate
  iRow = sht2.Range("A" & sht2.Rows.Count).End(xlUp).Row + 1
  Set rng = sht2.Range("A" & iRow)
  rng.Select
  sht2.Paste
  sht1.Activate
  Application.CutCopyMode = False
  Application.ScreenUpdating = True
End Sub
于 2013-03-09T16:20:42.673 回答