Sub リセット()
With ActiveSheet.ListObjects("従業員管理表")
.AutoFilter.ShowAllData
Dim keyR As Range
Set keyR = .ListColumns("社員ID").DataBodyRange
With .Sort
.SortFields.Clear
.SortFields.Add key:=keyR
.Apply
End With
End With
End Sub
では、コードについて解説していきます。
With ActiveSheet.ListObjects("従業員管理表")
'省略
End With
Sub deleteData()
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Worksheets("商品一覧")
Set ws2 = Worksheets("削除済み")
Dim lastRow As Long
lastRow = ws2.Cells(ws2.Rows.Count, "B").End(xlUp).Row + 1
Dim rng As Range
Set rng = ActiveCell
If ActiveSheet.Name = ws1.Name And rng.Row >= 3 Then
ws2.Rows(lastRow).Value = ws1.Rows(rng.Row).Value
ws1.Rows(rng.Row).Delete
End If
End Sub
では、コードについて解説していきます。
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Worksheets("商品一覧")
Set ws2 = Worksheets("削除済み")
移動元、移動先のシート情報を変数「ws1、ws2」に割り当てています。
Dim lastRow As Long
lastRow = ws2.Cells(ws2.Rows.Count, "B").End(xlUp).Row + 1