Excel VBA,validation字段是否大于零,并将此行添加到另一个工作表

我有两张纸,第一张是我的领域:

Sheet01

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

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

Sheet02

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

示例Imagem

你好,谢谢你的答复,但我不能申请任何一个。 我会尽力解释一下:

当在Sheet1的列H中input一个非零值(并且与空白区域不同)时,包含此值的整行应复制到相应单元格中的Sheet2,类似于添加产品的发票,其数量是非零。 我知道这是可能的,只是不知道该怎么做,因为我是VBA的外行。 如果有人能帮助我,我欣赏它。

您可以在第一张_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