Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5216 / 13646 ツリー ←次へ | 前へ→

【52053】保護されたシート上でハイパーリンク機能を有効にしたい hirop 07/10/18(木) 9:30 質問[未読]
【52056】Re:保護されたシート上でハイパーリンク機... Jaka 07/10/18(木) 10:48 発言[未読]
【52060】Re:保護されたシート上でハイパーリンク機... hirop 07/10/18(木) 13:18 質問[未読]
【52064】Re:保護されたシート上でハイパーリンク機... Jaka 07/10/18(木) 14:58 発言[未読]
【52071】Re:保護されたシート上でハイパーリンク機... n 07/10/18(木) 18:34 発言[未読]
【52072】Re:保護されたシート上でハイパーリンク機... hirop 07/10/18(木) 19:08 お礼[未読]

【52053】保護されたシート上でハイパーリンク機能...
質問  hirop  - 07/10/18(木) 9:30 -

引用なし
パスワード
   シートの保護の状態でオートフィルタだけを機能させたいという質問をさせていただき、皆様のご指導のもと、うまくできました。
ありがとうございました。

シートの保護の状態でオートフィルタだけを機能させるためのVBAは下記の通りです。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Application.CommandBars("Cell").Reset
End Sub

Private Sub Workbook_Open()
  With Application.CommandBars("Cell").Controls.Add( _
           Type:=msoControlButton, Before:=1, Temporary:=True)
    .Caption = "オートフィルタ"
    .OnAction = "ThisWorkbook.filter"
  End With
  With Worksheets("チェックリスト")
    .Unprotect
    .EnableAutoFilter = True
    .Protect UserInterfaceOnly:=True
  End With
End Sub

Private Sub filter()
  On Error Resume Next
  With ActiveSheet
    .EnableAutoFilter = True
    .Protect UserInterfaceOnly:=True
    .Range("A35:AD35").AutoFilter
  End With
End Sub

同一ファイル上で、オートフィルタだけではなく、T36:IV500の範囲のセルだけにハイパーリンクの挿入、ハイパーリンクの編集、ハイパーリンク機能の削除等のハイパーリンク機能を使用できるようにしたいと思っています。何かよい手段はないでしょうか?

ちなみにシートに保護はかかっているのですが、T36:IV500の範囲のセルはセルの編集が可能なように「セルの書式設定」の「保護」でロックを解除してあります。

EXCELバージョンは2000です。

【52056】Re:保護されたシート上でハイパーリンク...
発言  Jaka  - 07/10/18(木) 10:48 -

引用なし
パスワード
   ハイパーリンクなら、こんな感じでも出来ますけど。

=HYPERLINK("[Book1.xls]Sheet2!C50","表示名")

【52060】Re:保護されたシート上でハイパーリンク...
質問  hirop  - 07/10/18(木) 13:18 -

引用なし
パスワード
   回答ありがとうございます。
該当ファイルは共有ファイルのため、様々人が使用します。したがって、数式によるハイパーリンク機能を可能にするのではなく、「ツールバー」から利用可能なハイパーリンク機能を可能にしたいと思っています。
どのようにしたら、良いでしょうか?

【52064】Re:保護されたシート上でハイパーリンク...
発言  Jaka  - 07/10/18(木) 14:58 -

引用なし
パスワード
   ▼hirop さん:
>ツールバー」から利用可能なハイパーリンク機能を可能にしたいと思っています。
できないと思います。

【52071】Re:保護されたシート上でハイパーリンク...
発言  n  - 07/10/18(木) 18:34 -

引用なし
パスワード
   'ThisWorkbookモジュール
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Application.CommandBars("Cell").Reset
End Sub

Private Sub Workbook_Open()
  With Application.CommandBars("Cell")
    With .Controls.Add(Type:=msoControlButton, Before:=1, Temporary:=True)
      .Caption = "オートフィルタ"
      .OnAction = "ThisWorkbook.filter"
    End With
    With .Controls.Add(Type:=msoControlButton, Before:=1, Temporary:=True)
      .Caption = "ハイパーリンク"
      .OnAction = "ThisWorkbook.hlink"
    End With
  End With
  With Worksheets("チェックリスト")
    .EnableAutoFilter = True
    .Protect UserInterfaceOnly:=True
  End With
End Sub

Private Sub filter()
  On Error Resume Next
  Range("A35:AD35").AutoFilter
End Sub

Private Sub hlink()
  If ActiveCell.Locked Then
    MsgBox "error"
  Else
    Application.Dialogs(xlDialogInsertHyperlink).Show
  End If
End Sub

【52072】Re:保護されたシート上でハイパーリンク...
お礼  hirop  - 07/10/18(木) 19:08 -

引用なし
パスワード
   小生がイメージしていたファイルが完成しました。
前回といい、今回といい、誠にありがとうございました。
今後とも教示願います。

5216 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free