質問: 次の条件で、エクセルの2007以上で動作するコードを教えてください。 現在、一つのブック(Aブック)を左右の2画面に分けて連動するように表示されているとします。左画面は「Aブック.xlsm:1のシート名が【合体】シート」です。右画面は「Aブック.xlsm:2のシート名が【勤務1】シート」です。 2つのシートは2次元表になっていて、全く同じ構造です。また、右画面は勤務1シートから勤務6シートまで切り替えていきます。また、左画面は6枚のシートをCONCATENATEしてテキストデータを連結しています。6枚のシートの連結の結果、左画面の任意セルはフォントを小さくしないと,セル内のテキスト文字の全体が見えません。 やりたいことは、右画面が常にアクティブシートとなるという条件で、ユーザーフォームを起ち上げた後、右画面でセル一つ、例えばF8セルをクリックすると、左画面のF8セル内容が虫眼鏡のようにテキストボックスに拡大表示されることです。 ただし、アドインソフトではなく、VBAでお願いします。また、フォントを小さくして拡大表示ということは求めていません。よろしくお願いします。
回答: 簡易にコメント機能を使って作ってみましたがどうでしょうか。 以下のコードをワークシートのイベントとして作成してください。 ``` Dim 表示シート As Worksheet Private Sub Worksheet_Activate() Set 表示シート = Worksheets("合体") End Sub Private Sub Worksheet_Deactivate() 表示シート.Cells.ClearComments End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Set 表示シート = Worksheets("合体") 表示シート.Cells.ClearComments Dim 表示セル As Range Set 表示セル = 表示シート.Range(Target.Address) Dim Comment As Comment Set Comment = 表示セル.AddComment("合体" & Chr(10) & 表示セル.Value) '表示位置の指定 Comment.Shape.Top = 0 'セルのそばに表示したい場合は削除 Comment.Shape.Left = 0 'セルのそばに表示したい場合は削除 Comment.Visible = True End Sub ``` #イベントの作成仕方がわからない場合はまたたずねてくれたら。