システムwiki

VBAを使用している以外はテーブル内の行を挿入するのを防ぐ

VuNguye 受付中 最終更新日:2021-06-14 03:20

データ入力用のtableを作成しました.ただし、ユーザーが使用すると、それらはtableの中央に行を挿入します.これは、関数が前進しているだけで設計されているため、式をめちゃくちゃにします.時々時には
ユーザーは手動で行を追加します(tableの最後の行の後に次の行に入力するだけで)、関数は自動的に入力されましたが、関数はかなり頻繁に正しくありません.

そのため、行をtableに追加するためのボタンを追加し、問題なく機能します.これで、ユーザーが手動で行を追加する機能を無効にしたいとします.つまり、行をクリックしてのみ追加できます.

私が研究する限りでは、すべての人々は保護シート機能を使用して提案します.しかし、VIA VBAを含む行を追加するすべての能力を削除します.オファー右クリックで行の挿入のみを防ぐためのVBA
行列で.私はすべてのユーザーアクセス可能な方法を無効にする必要があります.

これはボタンのコードです(関連性がある場合).

sub insertrow_click()
薄暗いものとして薄暗い
i= 1から10の場合
ActiveSheet.ListObjects( "Invoice")ListRows.add alwaysInSert:= true
次のI
終了サブ

返信リスト(回答:1)

1 #
Lz.

@ vunguyen7

他の他の人が推奨されるように、シートをパスワードで保護することを提案しました-1234下記-(あなたのVBAプロジェクトも保護する必要があります...)

thisworkbook

プライベートサブworkbook_open()

OnWorkBookOpenに電話をかける
終了SUB

module11

オプション
文字列

としてのプライベートPWD

サブOnWorkbookOpen()

PWD= "1234"
終了SUB

サブinsertrow_click()

Dim i gtimer
ListObjectとして薄暗いOLIST
OLIST= ActiveSheet.ListObjects( "Invoice")を設定します. application.ScreenUpdating= false
ActiveSheet
.unprotect PWD
i= 1~10
olist.listRows.add alwaysInSert:= true
次のi
.PWDはPWDを保護します

application.ScreenUpdating= true
終了SUB