2016-11-17 40 views
0

我在excel表图像名称为:Excel VBA中用户定义函数来找到图像文件夹

16094_1.jpg 
16095_1.jpg,16095_2.jpg 

名称可以是由逗号分隔的细胞的单个或多个。 它们被存储在位置

"C:\Users\Jatin\Desktop\Jatin\november\17-nov\images" 

我想创建用户定义函数(公式) 可以找到图像所需的位置,它们是否存在与否。 例如,

=findimage("path",imagename) 
=findimage("C:\Users\Jatin",a1) 
+0

你可以用'迪尔()'这一点。 –

+0

请解释一下,我是vba的初学者。 –

+2

你应该看这个系列:[Excel VBA简介](https://www.youtube.com/playlist?list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5)。我发布了一个答案,因为我认为你的概念很有趣。我真的不应该发布一个答案,因为这不是一个代码写作服务,它让我在同龄人中看起来很糟糕。将来请尝试自己编写代码。你的代码有多好并不重要,只是你尝试的很重要。 – 2016-11-17 07:54:28

回答

2

enter image description here

Function hasImages(Path As String, ImageList As String) 
    Dim results 
    Dim x As Long 
    results = Split(ImageList, ",") 
    If Not Right(Path, 1) = "\" Then Path = Path & "\" 

    For x = 0 To UBound(results) 
     results(x) = Len(Dir(Path & results(x))) > 0 
    Next 

    hasImages = Join(results, ",") 
End Function 
+0

谢谢托马斯,我需要一个更多的帮助...我想检查,如果我保存文件夹中的4个图像,但在Excel中只写入3个图像名称,那么它也应该写在结果栏中,文件夹中有多少图像。如果图像名称是apple_1,apple_2 .....我们可以通过关键字“apple”对文件夹中的图像进行计数......请帮助这个thomas ...将非常感谢... –

+0

请发布另一个问题并将其链接到我。谢谢 – 2016-11-28 15:18:50

+0

http://stackoverflow.com/questions/40858211/excel-vba-user-defined-function-to-find-images-in-folder-match-excel-names-to-f –

1

你可以使用此功能尝试:

Function IfFileExist(strPath As String, strFileName As String) 
    IfFileExist = False 
    If Len(Dir(strPath & "\" & strFileName)) > 0 Then 
     IfFileExist = True 
    End If 
End Function 
+0

这工作,但只适用于单个图像,如果我在单元格中有多个图像名称,该怎么办。像这样: 16095_1.jpg,16095_2.jpg –

+0

1,你可以将名字分割成单独的单元格。第2位。 (True,False),(False,True)等等,所以应该产生什么样的结果,因为你有三个状态,例如True,两个都是假的,一个是真的,甚至更多的结果......因此,最好单独检查每个文件 –

相关问题