最大値を求める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
—————————————————————————————————