1542613061 次の条件で、エクセルの2007以上で動作するコードを教えてください。


 現在、一つのブック(Aブック)を左右の2画面に分けて連動するように表示されているとします。左画面は「Aブック.xlsm:1のシート名が【合体】シート」です。右画面は「Aブック.xlsm:2のシート名が【勤務①】シート」です。
 2つのシートは2次元表になっていて、全く同じ構造です。また、右画面は勤務①シートから勤務⑥シートまで切り替えていきます。また、左画面は6枚のシートをCONCATENATEしてテキストデータを連結しています。6枚のシートの連結の結果、左画面の任意セルはフォントを小さくしないと,セル内のテキスト文字の全体が見えません。

 やりたいことは、右画面が常にアクティブシートとなるという条件で、ユーザーフォームを起ち上げた後、右画面でセル一つ、例えばF8セルをクリックすると、左画面のF8セル内容が虫眼鏡のようにテキストボックスに拡大表示されることです。

 ただし、アドインソフトではなく、VBAでお願いします。また、フォントを小さくして拡大表示ということは求めていません。よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2018/11/26 16:40:05

回答1件)

id:robbie21 No.1

回答回数35ベストアンサー獲得回数1

簡易にコメント機能を使って作ってみましたがどうでしょうか。
以下のコードをワークシートのイベントとして作成してください。

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

#イベントの作成仕方がわからない場合はまたたずねてくれたら。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません