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

时间:2013-03-09 14:27:56

标签: excel excel-vba vba

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

Sheet01

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)或为空,则不会将其添加到下一回合的另一个工作表起始行。

Sheet02

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

Example Imagem

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

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

1 个答案:

答案 0 :(得分: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