'求得 "A欄" 最後一格有資料存在的參照位址 Dim vEndCell As Variant Set vEndCell = Range("$A"& Worksheets("表格名稱").Rows.Count).End(xlUp) '假如最後一格有資料存在的參照位址是超過底部資料範圍 "第15列",就進行刪除舊資料做移位 If (vEndCell.Row > 15) Then Worksheets("表格名稱").Range("$9:$" & Range("$9").Offset((vEndCell.Row-15)-1).Row).Delete End If 或 '求得 "A欄" 最後一格有資料存在的參照位址 Dim vEndCell As Variant Set vEndCell = Range("$A"& Worksheets("表格名稱").Rows.Count).End(xlUp) '假如最後一格有資料存在的參照位址是超過底部資料範圍 "第15列",就進行刪除舊資料做移位 If (vEndCell.Row > 15) Then Worksheets("表格名稱").Range(Rows("$9"), Rows("$9").Offset((vEndCell.Row-15)-1)).Delete End If
'求得原資料保留區的範圍之列數 Dim lDataRows As Long lDataRows = Range("$A$9:$C$15").Rows.Count '求得 "A欄" 最後一格有資料存在的參照位址 Dim vEndCell As Variant Set vEndCell = Range("$A"& Worksheets("表格名稱").Rows.Count).End(xlUp) If (vEndCell.Row > 15) Then '由最後有資料的那一列位置,往上圈選要保留的資料範圍(即原資料保留區的範圍之大小),並剪下 Worksheets("表格名稱").Range(Range("$A$" & (vEndCell.Row-lDataRows +1)),Range("$C$" & vEndCell.Row)).Cut '在[A9]儲存格的位置將資料貼上 Worksheets("表格名稱").Range("$A$9").PasteSpecial XlPasteType :=xlPasteValues End If 或 Dim lDataRows As Long, lDataColumns As Long '求得原資料保留區的範圍之列數 lDataRows = Range("$A$9:$C$15").Rows.Count '求得原資料保留區的範圍之欄數 lDataColumns = Range("$A$9:$C$15").Columns.Count '求得 "A欄" 最後一格有資料存在的參照位址 Dim vEndCell As Variant Set vEndCell = Range("$A"& Worksheets("表格名稱").Rows.Count).End(xlUp) If (vEndCell.Row > 15) Then '由最後有資料的那一列位置,往上圈選要保留的資料範圍(即原資料保留區的範圍之大小),並剪下 Worksheets("表格名稱").Range("$A$" & (vEndCell.Row-lDataRows+1)).Resize(lDataRows, lDataColumns).Cut '在[A9]儲存格的位置將資料貼上 Worksheets("表格名稱").Range("$A$9").PasteSpecial XlPasteType :=xlPasteValues End If