使用循环创建列表

时间:2017-01-24 07:08:33

标签: excel vba loops reference

我正在尝试使用Excel中的VBA创建一个循环,以使我的代码不那么厚实。目前我所拥有的是:

path1 = Sheets("A").Range("Directory").Value & "\" & Sheets("Selection").Range("N10").Value & ".jpg"
path2 = Sheets("A").Range("Directory").Value & "\" & Sheets("Selection").Range("N11").Value & ".jpg"

这继续到ppath15和单元格N24。代码只是为一些图片创建一个目录地址列表,然后我将其插入到PowerPoint或Word中。我已经有了工作代码,但它也没有循环。我试图找到的是一种使用循环引用名称(例如路径(i)?)和单元格(例如N(j)?)的方法。

注意:上面的“目录”是包含文件夹地址的命名单元格,例如“C:” 查找范围(N10到N24)包含jpg名称。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

可能的解决方案

Dim paths() As Variant
Dim i As Long

paths = Application.Transpose(Sheets("Selection").Range("N10:N24").Value)
For i = LBound(paths) to UBound(paths)
    paths(i) =  Sheets("A").Range("Directory").Value & "\" & paths(i)  & ".jpg"
Next i

另一种可能性:

Dim i As Long
Dim cell As Range

With Sheets("Selection").Range("N10:N24")
    ReDim paths(1 to .Rows.Count) As String
    For i = 1 to .Rows.Count
        paths(i) =  Sheets("A").Range("Directory").Value & "\" & cell & ".jpg"
    Next i
End With
相关问题