既存レコードの再登録機能を追加したい
いつもお世話になります。
受注管理システムを作成中です。自分で作成するのは初めてです。
自分で見直したのですが、既存レコードの場合の受注番号の検索行か、古いデータの削除行で
エラーが出ます。
どなたかアドバイスいただければ幸甚です。
*************************************************************************************
'「TB_受注」シートから「伝票番号」を検索
' 引数key :伝票番号
' 引数num :該当データのレコード番号、見つからなかった場合は-1
' 引数fr :該当データの先頭の行番号
Sub FindJchNum(key As String, num As Long, fr As Long)
Dim tbSRange As Range '検索範囲のセル
Dim tbFRange As Range '見つかったセル
'検索範囲のセル(TB_受注シートの受注番号列E7)を変数に代入する
Set tbSRange = Worksheets("TB_受注").Range("E7").CurrentRegion.Columns(1)
'伝票番号を先頭から検索する
Set tbFRange = tbSRange.Find(What:=key, _
LookIn:=xlFormulas, Lookat:=xlWhole, SearchDirection:=xlNext)
'戻り値を代入する
If tbFRange Is Nothing Then
'見つからなかった場合、引数numは-1
num = -1
Else
'見つかった場合、引数numはレコード番号
num = tbFRange.Offset(0, -2).Value
'引数frに戻り値となる該当セルの先頭の行番号を代入する
fr = tbFRange.Row
End If
'オブジェクト変数を解放する
Set tbSRange = Nothing
Set tbFRange = Nothing
End Sub
'----- 入力データの登録 -----
'新規レコードか既存レコードかを調べる
If lblレコード番号.Caption = "*" Then
'新規レコードの場合
myRcdNum = lbl全レコード数.Caption + 1
'レコードカウンタを更新する
lblレコード番号.Caption = myRcdNum
lbl全レコード数.Caption = myRcdNum
Else
'既存レコードの場合は受注番号を検索する(受注伝票シートの受注番号セルI2)
Call FindJchNum(Range("I2").Value, myRcdNum, tbFstRow)
'古いデータを削除する
Worksheets("TB_受注").Rows(tbFstRow).Delete
End If
お礼
できました レコードのifでそれぞれ変数をいれることができました ありがとうございます