セルの値を、そのセルをアクティブにせずに、テーブルの最後の列まで 1 行下に戻す必要があります。最後の列を返す VBA が既にあります。
これは動作しません。
WorkPercent = Cells(2, LastCol - 1).Value
親切にOffsetプロパティを使用してください
WorkPercent = Cells(2, LastCol - 1).Offset(1, 0).Value
「特定のテーブルの1行下、1列右のセル」について話していると仮定すると、次のことを試すことができます。
Sub main()
Dim sheet As Worksheet
Dim tbl As ListObject
Dim lastCol As Integer
Dim lastRow As Integer
Set sheet = ActiveSheet
Set tbl = sheet.ListObjects("tbl")
lastCol = tbl.DataBodyRange.Columns(tbl.DataBodyRange.Columns.Count).Column
lastRow = tbl.DataBodyRange.Rows(tbl.DataBodyRange.Rows.Count).Row
MsgBox sheet.Cells(lastRow + 1, lastCol + 1)
End Sub