|
マクロ初心者です。
拙い文章で伝わりづらい点があるかと思いますが、ご容赦ください。
共有設定をしているエクセルの管理表に、複数人が新しい行に情報を追記していくのですが、
作業が被ったときに、誤って人の情報を上書きしてしまうことが極力ないような仕組みにしたいと思っています。
そのため、別シートに入力フォームを作り、登録ボタンをおすと管理表に追記されるというマクロをつくりました。
そこで、最初と最後に上書き保存するマクロを入れていれば、ボタンを押したタイミングで少しでも先に他の人が登録された情報が更新されるので、最終行の判定も常に最新の状態でできるかと思っていました。
ところがうまくいかず、下記に作成したマクロを記載しますので、よい方法があればご教示いただけますでしょうか。
※入力フォームがSheet1,管理表がSheet2
Sub ファイル名()
ThisWorkbook.Save
Range("B3:I3").Select
Selection.Copy
Sheets("Sheet2").Select
n = Cells(Rows.Count, "B").End(xlUp).Row + 1
Range("B" & n).Select
ActiveSheet.Paste
Sheets("Sheet1").Select
Range("B3:I3").Select
Selection.ClearContents
ThisWorkbook.Save
End Sub
ちなみに、これでうまくいかなかったので、
下記3つのボタンを設置することでなんとかいけるかためしています。。
フォームに入力する前におす上書き(更新)ボタン@
※フォームのクリアとフォームの更新情報が被らないようにするため
登録ボタンBを押す前におす上書き(更新)ボタンA
※登録が被った際に最終行を最新の状態で取得するため
|
|