根据最高值在Excel中显示特定图像

问题描述:

我很难为此编写代码。 因此,我们有四个单元格的变量值,一个图片应该出现,取决于单击按钮时具有最高值的单元格。根据最高值在Excel中显示特定图像

示例:如果单元格A1的值高于其他单元格,单击按钮时应显示图片A,如果单元格B1的值较高,则应显示分配给该单元格的图片B。

我们尽力了,但无法找到一个解决方案,任何帮助,将不胜感激

+3

你可以发布你的方法的代码? – Limak

+2

你没有努力寻找解决方案,我想:http://stackoverflow.com/questions/9198097/excel-vba-if-cell-value-equals-then-show-hide-images –

那么,这是一些小事,但这里是我会怎么做:

Public Sub ShowPic() 
    Me.s1.Visible = b_is_visible(Me.s1.Name) 
    Me.s2.Visible = b_is_visible(Me.s2.Name) 
End sub 

Public Function b_is_visible(str_name As String) As Boolean 

    If str_name = cells(1,1) Then 
     b_is_visible = True 
    end if 

End Function 

在细胞A1你应该把图片的名字。因此,基于它,图像将是可见或不可见的。图像应该是一种形式。上面的代码是在表单中。

有很多解决方案。其中之一是有一些文件夹与你想要显示的图片,并将它们命名为最大值的行。例如。如果最大值在第3行,则会显示picture3.jpg文件。

Sub test123() 
Dim Rng As Range 
Dim maxRow As Integer, maxVal As Integer 

Set Rng = Range("A1:A4") 
maxVal = Application.WorksheetFunction.Max(Rng) 
picNum = Application.Match(maxVal, Rng, 0) 

ActiveSheet.Pictures.Delete 
ActiveSheet.Pictures.Insert("K:\user files\user 1\pictures\picture" & picNum & ".jpg").Select 

End Sub 

编辑:

如果你想重新定位图像,你也可以重新命名,并使用一些赞扬做到这一点。

Selection.ShapeRange.Name = "Pic1" 
ActiveSheet.Shapes("Pic1").Left = ActiveSheet.Cells(2, 2).Left 
ActiveSheet.Shapes("Pic1").Top = ActiveSheet.Cells(2, 2).Top 
ActiveSheet.Shapes("Pic1").Height = ActiveSheet.Range("G1:G7").Height 
ActiveSheet.Shapes("Pic1").Width = ActiveSheet.Range("B1:G1").Width