• ベストアンサー

エクセル マクロについて

1)マクロでボタンを作成して、Sheet2に自動記載出来るようにしました。Sheet2で記載された文字は行で保護出来ないのでしょうか?シート全体に保護をかけたら、勿論ボタン入力出来なくなりました。 2)マクロのボタンで1回同じ項目をSheet2へ入力した人が、もう一回続けて入力ボタンを押して、Sheet2には同じ文字が入っていました。それを防ぐには何かないのでしょうか?例えば、同じ入力が項目・時間ならメッセージが出てくるとか、1回入力したら”保存されました”などのメッセージがあれば、防げるかな?と思っています。教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 1) シートは保護にしたまま、 Worksheets("Sheet2").Protect Password:="PWS", UserInterfaceonly:=True とすればよいです。 2) 空のセルに代入するなら、代入する前に、 If IsEmpty(Range("A1").Value) Then  '--実行-- End If とするか、 同じ値なら、 代入値と比較すればよいと思います。 Static 変数で、前に代入したか調べる方法もありますが、これは、ブックを開いた状態では、確保されていません。

その他の回答 (1)

  • J2J
  • ベストアンサー率22% (2/9)
回答No.1

2)について ・毎回、入力欄に入っている数値(文字)を消す処理をする、とか ・なるべくそのデータの固有の組み合わせ (時間)(項目)(顧客名など)を3つ以上組合わせて、 (accessの主キーのイメージ)で、一致するデータは警告を出すとか どうでしょうか?

関連するQ&A