システムwiki

ブックを保護するためにvbaコードを更新する方法は?

F.Jones 受付中 最終更新日:2022-05-27 00:45

返信リスト(回答:4)

4 #
HansVMV

見る https://www.dropbox.com/s/1s4p1rp7tcmk5b6/vba.xlsm?dl=1

応答4# ->にスキップ
2 #
F.Jones

こんにちは、

ファイルありがとうございます.しかし、まだ欠陥があると思います.たとえば....

  1. Sheet7Sheet8などの新しいワークシートを追加したら、[シートの内容を更新]をクリックします. 次のように、tableにも行を追加する必要があります:

  2. ワークシートを非表示にするには、Table1[オプションの非表示]で「はい」の場合のみワークシートを非表示にする必要があります.つまり、セルが空白の場合、ワークシートを再表示する必要があります.

  3. また、Table1[シートの内容]の並べ替えを変更した場合は、対応する行も並べ替える必要があります.このように:

VBAコードを更新する方法はありますか?

どうもありがとう

J.

応答2# ->にスキップ
3 #
HansVMV

Dropboxのワークブックを更新しました.ワークシートを挿入または削除すると、目次が自動的に更新されます.

https://www.dropbox.com/s/1s4p1rp7tcmk5b6/vba.xlsm?dl=1

応答3# ->にスキップ
1 #
F.Jones

こんにちは

vbaコードの更新に時間を割いていただきありがとうございます.

並べ替えに関してワークシートを自動的に挿入または削除するのが好きです.ありがとうございます.可能であれば、次の方法で並べ替えたいと思います.

しかし、別の問題は、ワークブックの名前を変更したときに、の関連する名前でした. 表1[シートの内容]次のように更新されていません. ワークシートスクリプトからsheet1の名前をABCに変更すると、の関連する名前になります. 表1[シートの内容](上記のように-セルA2)はABCに名前を変更する必要があります.

このコマンドを自動的に実行したい

非表示に関して非表示のディレクティブはまだ完全には解決されていません.表現が不明確であることをお詫びします.実際の私の論理は次のとおりです:

IFTable1[オプションの非表示]= "はい"、次に関連するワークシートを非表示にします.それ以外の場合は、関連するワークシートを再表示します

例:

もしも C2= "はい"、C3= "はい"、 C4、C5、C6は 「空白」です.つまり、sheet1とsheet2を非表示にする必要があります. sheet3、sheet4、sheet9が再表示されます.

もしも C3= "はい"、C5= "はい"、 C2、C4、C6は 「空白」です.つまり、sheet2とsheet4を非表示にする必要があり、sheet1、sheet2、sheet9を再表示します.

ただし、このコマンドを完全に自動化したくないので、ワンクリック下部を使用して複数のワークシートを非表示または再表示する方がよいと思います.

多くのご要望をお詫び申し上げます.

もう一度ありがとう

J.