呼出ボタン
呼出ボタンは登録が完了した発注リストの中から選択して修正するために、選択た行の内容を入力フォームに呼出をするためのものです。
Application.EnableEvents = False
On Error GoTo jump1
Dim cr1 As Integer
Dim cc1 As Integer
cr1 = ActiveCell.Row
cc1 = ActiveCell.Column
If cr1 > 6 Then
If cc1 > 4 And cc1 < 19 Then
If Cells(cr1, 5).Value = “” Then Exit Sub
For k = 5 To 17
Cells(5, k).Value = Cells(cr1, k).Value
Next
End If
End If
Cells(5, 18).Value = cr1
jump1:
Application.EnableEvents = True
End Sub
処理の途中でエラー(Error)が発生したらjump1まで処理を飛ばします。(GoTo jump1)
選択したセルの行と列の値を取得しています。 (ActiveCell)
選択された行と列の値をIf文を使って評価しています。(7行以上、5列目から18列の間で)
選択したセル内容が空白であればExit Subで処理を抜けます。
選択した行のデータを5行目の入力欄に転記します。
クリアボタン
クリアボタンは入力欄(“E5:R5”)と入力候補欄 Range(“A6”).CurrentRegionをクリアするためのものです。
Application.EnableEvents = False
‘入力欄クリア
Range(“E5:R5”).Select
Selection.ClearContents
ActiveSheet.Range(“A6”).CurrentRegion.Select ‘入力候補欄消去
Selection.ClearContents
Range(“I5”).Select
Application.EnableEvents = True
End Sub
“E5:R5″セルをセレクトしてクリアしています。 次に、A6セルに連続した入力されている範囲を取得するCurrentRegionを利用して範囲をクリアしています。
削除ボタン
登録され発注リストにある注文内容を削除します。
On Error GoTo jump1
DCall_07
res = MsgBox(“選択行データが削除されます。処理を続けますか?”, vbYesNo)
If res = vbYes Then
f = Cells(5, 18).Value
Range(Cells(f, 2), Cells(f, 18)).Delete
Range(Cells(f, 2), Cells(f, 18)).Insert
MsgBox (“削除されました。”)
Exit Sub
End If
If res = vbNo Then
Exit Sub
End If
jump1:
End Sub
上述した「呼出」DCall_07で選択した行のデータを入力欄に転記します。 これは削除のちのデータ復活のための保険です。不要であれば削除してください。
res = MsgBox(“選択行データが削除されます。処理を続けますか?”, vbYesNo)でメッセージの選択結果をresに代入します。
res = vbYesで選択行を削除(Delete)します。
Range(Cells(f, 2), Cells(f, 18)).Delete 削除した行を戻すためRange(Cells(f, 2), Cells(f, 18)).Insertで行を挿入しています。
これは罫線が設定されているためです、罫線がなければ不要なため削除してください。