自动删除从其他工作表填充的数据

时间:2017-07-20 20:44:00

标签: excel-vba vba excel

我根据以下代码将数据从Sheet2复制到Sheet1:

Sub UpdateList()
Dim lastRow As Long
lastRow = Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Sheet1").Range("A1:A" & lastRow).Value = Sheets("Sheet2").Range("A1:A" & lastRow).Value
End Sub

这是我的问题:
Sheet2上的源数据是动态列表。如果我添加新数据,上面的代码可以很好地将新数据填充到Sheet1。但是,如果从Sheet2中删除数据(它来自ODBC查询),则“旧”数据仍保留在Sheet1上。

我很难以干净自动的方式从Sheet1中删除旧数据,而不是重复敲击删除键。

1 个答案:

答案 0 :(得分:0)

如果所有数据都存储在A列中,只需输入:

$customer_histories = Customer_history::leftJoin('invoices AS i', 'i.invoice_id', 'customer_histories.invoice_id')
    ->where('is_paid','=',1)
    ->whereRaw('DATE_FORMAT(customer_histories.created_at, "%Y-%m-%d") BETWEEN ? AND ?', [ $from, $till])
    ->get();

每次更新时,都应清理该列,并使用新数据重新输入值。