最大値を求めるWorksheet関数のMax関数を使ったが「0」しか返って来ないので調べたら、対象セルが「文字」と認識されていたためと判明しました。

下記のVBAソースが悪いわけではありませんでした。

———————————————————————–

Set 検索レンジ = Workbooks(マスタブック).Worksheets(マスタブックの会社マスタシート).Range(“会社マスタTBL[会社No]”)
新規ID = Application.WorksheetFunction.Max(検索レンジ) + 1
Set 検索レンジ = Nothing

———————————————————————–

上記の会社マスタTBLテーブルのタイトル名が「会社No」の列を

=RIGHT([@会社ID],6)) の式だと、当たり前ですが文字列と見なされてMax関数では数字でないので「0」として扱われたので、

=INT(RIGHT([@会社ID],6))と変更して、ようやく数字として扱われて、最大値の数字を取得することができました。

VBAでは、下記のようにも記述できます。

—————————————————————————————————

With Workbooks(マスタブック).Worksheets(マスタブックの会社マスタシート)
新規ID = Application.WorksheetFunction.Max(.Range(“会社マスタTBL[会社No]”)) + 1
End With

—————————————————————————————————