1

適切なユーザーにのみ有効なボタンを使用してワークブックへのリンクを提供する Excel スプレッドシートを作成するにはどうすればよいですか?

多数のワークブックにアクセスするために、複数のユーザーが使用する 1 つのインデックス ページ/スプレッドシート/ワークブックを作成したいと考えています。ユーザーがアクセスを許可されていないワークブックへのボタンをグレー表示 (無効化) または削除したいと考えています。

これについてどうすればよいかわかりません。IRM を読みました。特定のユーザーがアクセスできないボタンをグレーアウト (無効化) する方法は示されていませんが。

皆様のご意見をお待ちしております。

よろしくお願いします。

4

1 に答える 1

1

まず、ワークブックをパスワードで保護し、ユーザー/権限用のデータベースを作成し、データベース シートを VeryHidden に設定する必要がありますxlSheetVeryHidden

データベースの例:

+----------+----------+----------+----------+
|  Names   |           Allow                |
+          +----------+----------+----------+
|          | Button 1 | Button 2 | Button 3 |
+----------+----------+----------+----------+
| MrJones  | 1        | 0        | 0        |
| Makah    | 0        | 1        | 0        |
| Seesharp | 1        | 1        | 1        |
+----------+----------+----------+----------+

これで、 がマクロを実行できるかどうかをチェックする checkPermission サブを作成できます。

Function CheckPermission(byVal colIndex as Integer) As Boolean
    Dim userName As String, allow As Integer

    userName = Environ("USERNAME")
    CheckPermission= WorksheetFunction.VLookup(userName, Sheets("DB").[A:D], colIndex, False)
End Function

最後に、このコードをすべてのマクロ内で使用できます。

Sub Button1()
  If Not CheckPermission(2) Then
    Exit Sub
  End If

  'Your code here!

End Sub
于 2014-01-22T21:36:35.593 に答える