我正在尝试使用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名称。
感谢您的帮助!
答案 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