Excel VBA質問箱 IV

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

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


3525 / 13645 ツリー ←次へ | 前へ→

【61646】ブックの共有を設定してもセルの結合・解除が出来るようには出来ないか カンジ 09/5/24(日) 13:13 質問[未読]
【61648】Re:ブックの共有を設定してもセルの結合・解... りん 09/5/24(日) 15:15 回答[未読]
【61651】Re:ブックの共有を設定してもセルの結合・解... カンジ 09/5/24(日) 16:45 発言[未読]
【61649】Re:ブックの共有を設定してもセルの結合・解... yoshi 09/5/24(日) 15:48 回答[未読]
【61652】Re:ブックの共有を設定してもセルの結合・解... カンジ 09/5/24(日) 16:49 お礼[未読]

【61646】ブックの共有を設定してもセルの結合・解...
質問  カンジ  - 09/5/24(日) 13:13 -

引用なし
パスワード
   ブックの共有について教えてください。
「ブックの共有」を設定するとセルの結合・結合解除が出来なくなりますが
ブックの共有の状態ででもマクロを使って結合・解除が出来るように設定は
出来ないでしょうか。
なお、セルの結合・解除をする人、及びシートは特定の人・シートという設定
ですが。
また、上記が出来ないとしたら、マクロで「ブックの共有」の設定・解除を
簡単に行う方法はあるのでしょうか。
よろしくお願いします。

【61648】Re:ブックの共有を設定してもセルの結合...
回答  りん E-MAIL  - 09/5/24(日) 15:15 -

引用なし
パスワード
   カンジ さん、こんにちわ。

>また、上記が出来ないとしたら、マクロで「ブックの共有」の設定・解除を
>簡単に行う方法はあるのでしょうか。

Sub Test()
  With Application.ActiveSheet
   If .Parent.MultiUserEditing = True Then
     '他のユーザーが開いていないかチェック
     Users = .Parent.UserStatus
     If UBound(Users, 1) > 1 Then
      MsgBox "他のユーザーを確認してください", vbExclamation, .Parent.Name, "念のため中断"
     Else
      Application.DisplayAlerts = False
      .Parent.ExclusiveAccess
      '結合セルを全部分解
      .UsedRange.UnMerge
      '再び共有に戻す
      .Parent.SaveAs Filename:=.Parent.FullName, AccessMode:=xlShared
      Application.DisplayAlerts = True
     End If
   Else
     MsgBox "共有ブックではありません", vbInformation, .Parent.Name
   End If
  End With
End Sub

マクロで共有を切り替えるならこんな感じです。
ただし、このマクロは共有ブックとは別のブックに書かないとだめですが。

>なお、セルの結合・解除をする人、及びシートは特定の人・シートという設定
>ですが。
これはユーザー名で判断するか固有パス入力等で分岐するしかないですね。

【61649】Re:ブックの共有を設定してもセルの結合...
回答  yoshi  - 09/5/24(日) 15:48 -

引用なし
パスワード
   >「ブックの共有」を設定するとセルの結合・結合解除が出来なくなりますが
>ブックの共有の状態ででもマクロを使って結合・解除が出来るように設定は
>出来ないでしょうか。

仕様でそうなっているので出来ないでしょう。

>なお、セルの結合・解除をする人、及びシートは特定の人・シートという設定
>ですが。
>また、上記が出来ないとしたら、マクロで「ブックの共有」の設定・解除を
>簡単に行う方法はあるのでしょうか。

マクロの記録でコードは分かります。
以下のかんじ。記録を直しただけです。
なお、共有ブックの標準モジュール等への記述でokです。

Sub test1() '共有解除
 With ActiveWorkbook
  If .MultiUserEditing Then
   Application.DisplayAlerts = False
   .ExclusiveAccess
   Application.DisplayAlerts = True
  End If
 End With
End Sub

Sub test2() '共有
 With ActiveWorkbook
  Application.DisplayAlerts = False
  .KeepChangeHistory = True
  .SaveAs Filename:=.FullName, AccessMode:=xlShared
  Application.DisplayAlerts = True
 End With
End Sub

【61651】Re:ブックの共有を設定してもセルの結合...
発言  カンジ  - 09/5/24(日) 16:45 -

引用なし
パスワード
   りん さん 早速のご回答ありがとうございます。

>マクロで共有を切り替えるならこんな感じです。
>ただし、このマクロは共有ブックとは別のブックに書かないとだめですが。

上記で別ブックに書かなければだめ、とのことですが、これは、別ブックに
記述してそこからマクロで操作するということでしょうか。
理解不足の状態ですのでご教示ください。
よろしくお願いします。

【61652】Re:ブックの共有を設定してもセルの結合...
お礼  カンジ  - 09/5/24(日) 16:49 -

引用なし
パスワード
   yoshi さん 早速のご回答ありがとうございました。
ブックの共有のままマクロの記録をした時に記録してくれなかったので、
ブックの共有は記録不可と思い込んでしまいました。
記録の修正も含めありがとうございました。

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