根据最高值在Excel中显示特定图像
问题描述:
我很难为此编写代码。 因此,我们有四个单元格的变量值,一个图片应该出现,取决于单击按钮时具有最高值的单元格。根据最高值在Excel中显示特定图像
示例:如果单元格A1的值高于其他单元格,单击按钮时应显示图片A,如果单元格B1的值较高,则应显示分配给该单元格的图片B。
我们尽力了,但无法找到一个解决方案,任何帮助,将不胜感激
答
那么,这是一些小事,但这里是我会怎么做:
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
你可以发布你的方法的代码? – Limak
你没有努力寻找解决方案,我想:http://stackoverflow.com/questions/9198097/excel-vba-if-cell-value-equals-then-show-hide-images –