2015-07-21 71 views
0

我試圖顯示Excel工作表鏈接到單元格值的圖像EXcel的圖像鏈接到的單元格值(VBA)

例如 - 如果單元格A1 = 10值然後顯示圖像(畫面10)

然後對於另一個單元

如果單元格A10-值90%,則顯示圖像(圖片90)。

我已經使用了下面的VBA代碼,它工作正常的A1,但後來當我在第二個單元格值和圖片中添加它只會顯示A1值/圖片。

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Not Application.Intersect(Target, Range("J27")) Is Nothing _ 
    And Not Target.Count > 1 Then 

     For Each shp In Me.Shapes 
      If shp.Type = msoPicture Then 
       shp.Visible = msoFalse 

      End If 
     Next 

     Select Case Range("J27").value 
      Case "10" 
      Me.Shapes("Picture 10").Visible = msoTrue 
      Case "11" 
      Me.Shapes("Picture 11").Visible = msoTrue 
      Case "12" 
      Me.Shapes("Picture 12").Visible = msoTrue 
      Case "13" 
      Me.Shapes("Picture 13").Visible = msoTrue 
      Case "14" 
      Me.Shapes("Picture 14").Visible = msoTrue 

     End Select 
    End If 
End Sub 

請幫忙!

+0

請更正您的代碼的格式,檢測問題會更簡單 –

回答

0

你似乎有兩個問題。

  • 你只有每張照片複印件1份,所以如果兩個小區具有相同的值,那麼他們將需要共享相同的圖像
  • 你的代碼總是隱藏所有的圖像顯示它們一前(所以你不能有兩個在同一時間顯示)

我建議有隱藏的所有影像,複製他們的要求,並重新命名他們(以ImageCellA1例如),這樣就可以通過名稱,當您需要引用它們刪除/更新它們。

+0

上面的VBA代碼在僅使用1個單元格值和多個圖像時有效,但像上面的註釋一樣,當我嘗試添加鏈接到另一個單元格的更多圖像時值它隱藏所有其他圖像..我需要一個AND代碼或什麼? – JPall

+0

就像我說的,你的代碼在顯示其中一個之前隱藏所有圖像。這就是爲什麼你只能看到一個圖像,因爲這就是你的代碼所做的。 –

相關問題