2017-05-11 16 views
0

Excel、またはGoogleシート、またはスプレッドシートエディタの画像URLにマウスカーソルを合わせると画像リンクをプレビューできます。Excel上のホバープレビュー画像リンク

+1

質問は[尋ねる]のガイドラインに従っていません。 I.それは広すぎます。 –

答えて

2

私は興味がありましたので、私はこれを調べました。

答えは、はいです。これはVBAのビットを必要とし、少しハッキリですが、ここでそれを行う方法があります。

まず、セルホバーで何かを行うと、Excelが少しハッキリします。

これを行うには、セルの式HYPERLINKを使用します。この場合

=HYPERLINK(OnMouseOver("http://i.imgur.com/rQ5G8sZ.jpg"),"http://i.imgur.com/rQ5G8sZ.jpg")

、私は私の式でグランピーキャットの画像のURLを持っています。

私もOnMouseOver

Dim DoOnce As Boolean 
Public Function OnMouseOver(URL As String) 
If Not DoOnce Then 
    DoOnce = True 
    With ActiveSheet.Pictures.Insert(URL) 
     With .ShapeRange 
      .LockAspectRatio = msoTrue 
      .Width = 75 
      .Height = 100 
     End With 
     .Left = Cells(1, 2).Left 
     .Top = Cells(1, 2).Top 
     .Placement = 1 
     .PrintObject = True 
    End With 
End If 
End Function 

と呼ばれる私が作成した関数には、このリンクを渡す最後に、私たちは離れて置くと、それをクリアするために、我々はそれに近い他の細胞において、いくつかの数式を配置する必要があります。複数のリンクでこれを拡張し Results

編集

=HYPERLINK(Reset())

および関連機能:

Public Function Reset() 
If DoOnce Then 
    DoOnce = False 
    ActiveSheet.Pictures.Delete 
End If 
End Function 

結果。

複数のリンクでこれを行うためにセル参照を渡すことができ、それらをセルの隣に表示させることができます。

Dim DoOnce As Boolean 
Public Function OnMouseOver(URL As String, TheCell As Range) 
Reset 
If Not DoOnce Then 
    DoOnce = True 
    With ActiveSheet.Pictures.Insert(URL) 
     With .ShapeRange 
      .LockAspectRatio = msoTrue 
      .Width = 300 
      .Height = 200 
     End With 
     .Left = Cells(TheCell.Row, TheCell.Column + 1).Left 
     .Top = Cells(TheCell.Row, TheCell.Column + 1).Top 
     .Placement = 1 
     .PrintObject = True 
    End With 
End If 
End Function 

Public Function Reset() 
If DoOnce Then 
    DoOnce = False 
    ActiveSheet.Pictures.Delete 
End If 
End Function 

Results2

+1

私は猫が大好きです。それはいくつかの賢いコーディングのおかげでありましたおかげで、私はたくさんの助けを受けました – user1663590

+0

あなたはセルに複数のリンクがある場合、すぐにリンクに式を追加する方法があります – user1663590

+0

あなたは何をしようとしているのかを知るためにあなたのデータを見る必要があります。新しい質問を投稿する価値があるかもしれない – user1274820