在Excel工作表之间移动数据

时间:2011-04-19 22:19:15

标签: excel vba

我必须为公共汽车的日常监控创建健康报告。我还必须确保在本季度结束前至少对所有公共汽车进行过一次健康检查。我将简要介绍一下我必须做的事情。

1>每天有10-15个健康查询进入随机总线号码,我必须每天做一份健康报告。

2 - ;在本季度结束之前,我必须对所有公共汽车进行健康检查并报告。

我的问题:

我有一个总共800辆公共汽车的主列表,我想把它放在表3中。我想创建一个字段,在其中我输入一个特定的公交车号码,我要对其进行健康检查,它应该在表1中称为:已完成,其余未完成的公交车号码应在表2中显示为:未完成。这样我就不必在季度结束时重做随机查询的报告。因此,我每天都会在该字段中输入随机总线编号,并且应该从未完成的工作表中删除这些总线并将其添加到已完成的工作表中。

有没有特别的方法呢?

1 个答案:

答案 0 :(得分:1)

最简单的方法是添加一个按钮,在按钮的vba代码中移动需要从Sheet 2移动到Sheet 3的行,然后删除Sheet 2上有问题的行。

该按钮的代码:

Private Sub Complete_Click()

  Dim FoundRow As Integer
  Dim LastRow As Integer

  FoundRow = Sheets("Sheet2").Range("A:A").Find(Sheets("Sheet2").Range("C1"), _
             Sheets("Sheet2").Range("A2"), xlValues).Row
  LastRow = Sheets("Sheet1").UsedRange.Rows.Count+1

  Sheets("Sheet2").Range("A:A").Rows(FoundRow).EntireRow.Copy
  Sheets("Sheet1").Range("A:A").Rows(LastRow).PasteSpecial (xlValues)
  Sheets("Sheet2").Range("A:A").Rows(FoundRow).EntireRow.Delete (xlShiftUp)

End Sub

然后我在Sheet 3上有一个按钮,可以重置所有表格。

这是Sheet 3按钮的一些简单代码(虽然我会在其中放入一个安全消息框):

Private Sub ResetSheet_Click()

  Worksheets("Sheet1").UsedRange.ClearContents
  Worksheets("Sheet2").UsedRange.ClearContents

  Worksheets("Sheet3").UsedRange.Copy
  Worksheets("Sheet2").Range("A2").PasteSpecial (xlPasteValues)

End Sub