VBAを使用してExcelで自動部品番号ジェネレータをプログラムしようとしています。部品番号は次の形式で表示されます: "XXXXX-XX"。最初の5桁はシリアライズされた数字で、後ろの2桁はリビジョンレベルを示します。Excel VBA - 部品番号を生成
新しい部品番号を引っ張ると、改訂レベルは常に "01"から始まります。例:「12345-01」。既存の番号は、「A2」から始まる列「A」にリストされています。 "A"列全体を見て、 "XXXXX-XX"形式を分割し、最初の5桁のみを見てください。次に、その列から最高値を決定し、その値に自動的に+1して次の部品番号を作成します。
私は次のように、この時の私の最初の試みがあるVBAを完全に新しいです: それは全体の「A」欄のみ最初の5桁を見えるように、私は範囲としてレンジ1を宣言:
Range1 = Microsoft.VisualBasic.Left("A2:A", 5)
正しく覚えていれば、LEFT関数は数値をテキスト形式で返します。それで、関数 "Val"を使ってテキストを数値形式に変換するのは正しいですか? MaxValueはIntegerとして宣言され、列 "A"に最大値を格納します。
MaxValue = Application.WorksheetFunction.Max(Val(Range1))
最初のコード行で実行時エラー424が発生しているようですが、これを行うには良い方法がありますか?どんな助けでも大歓迎です!
ありがとうございます。乾杯、
'Microsoft.VisualBasic.Left'はVB.NETの構文のように見える - あなたはまだ' Left'、またはより良いを使用することができ、 '左$' – ThunderFrame