アプリ版:「スタンプのみでお礼する」機能のリリースについて

ワークシートA列の最終行を取得してそれに+1することで新規の物件Noを返すように下記のように書きました。
しかし、作業の関係上、ワークシートの行を並び替えする設定をしたため、
A列の数値が1から順番では無くなっています。
そこでA列の値で最大値を求め、その値+1を新規物件Noとして返すように変更したいと考えています。

下記をどのように変更すれば良いか、ご教授お願いいたします。


Private Sub CommandButton1_Click()

Dim Last行番号 As Long
Dim Last物件No As Long
Dim New物件No As Long

' 最後尾の行番号を取得する
Last行番号 = 最終行を取得する関数()

' 最後尾の物件Noを取得する
Last物件No = 指定行の物件Noを取得する関数(Last行番号)

' 次の物件Noを求める
New物件No = Last物件No + 1
Worksheets("顧客基本情報" & Me.TextComboHakkounen.Value).Cells(Last行番号 + 1, 1).Value = New物件No
Worksheets("銀行振込一覧表").Cells(Last行番号 + 1, 1).Value = New物件No
Worksheets("電気料金一覧表").Cells(Last行番号 + 1, 1).Value = New物件No
Worksheets("水道料金一覧表").Cells(Last行番号 + 1, 1).Value = New物件No

End Sub

Private Function 最終行を取得する関数(Optional 列番号 As Long = 1)
Const 最終行番号 = 1048576
最終行を取得する関数 = Worksheets("顧客基本情報" & Me.TextComboHakkounen.Value).Cells(最終行番号, 列番号).End(xlUp).row
End Function

Private Function 指定行の物件Noを取得する関数(行番号 As Long, Optional 列番号 As Long = 1)
指定行の物件Noを取得する関数 = Worksheets("顧客基本情報" & Me.TextComboHakkounen.Value).Cells(行番号, 列番号).Value
End Function

A 回答 (1件)

ワークシート関数使ってください。


https://www.moug.net/tech/exvba/0100035.html
Max関数なら早いし。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!