Excel VBA从url获取图像
我正在Excel 2013上的一个macros来从一列(列“f”),并把它放在下一列(列“G”)的URL我已经做了一个代码,但它不工作,因为我想
Sub GetShapeFromWeb(strShpUrl As String, rngTarget As Range) With rngTarget.Parent .Pictures.Insert strShpUrl .Shapes(.Shapes.Count).Left = rngTarget.Left .Shapes(.Shapes.Count).Top = rngTarget.Top End With End Sub Sub Obtener_imagen() On Error Resume Next For i = 2 To 3 Call GetShapeFromWeb(Range("f" & i).Value, Hoja1.Range("a65536").End(xlUp).Offset(6, i)) Next i End Sub
如果我理解正确,这就是你正在努力实现的
Sub Obtener_imagen() Dim fila as Integer,ultima_fila as Integer ultima_fila =Hoja1.Range("F65536").End(xlUp).row For fila =1 To ultima_fila With Range("G" & fila).Parent .Pictures.Insert Range("F" & fila) .Shapes(.Shapes.Count).Left = ("G" & fila).Left .Shapes(.Shapes.Count).Top = ("G" & fila).Top End With Next i End Sub
问题是你把它放在Range Range("a65536").End(xlUp).Offset(6, i)
所以你从i
列A抵消。改变, i
到7
指定列G,或其他variables,如果你需要它的dynamic。
您的范围说明正在执行以下操作:
- 转到单元格A65536
- 按Ctrl +向上查找列A中最后使用的行
- 往下走6行(
.Offset(6
) - 去我列(2或3,这意味着列B或C)
- 在那里插入图像。
如果列A没有与列G相同的行数,那么这会造成问题,而且这听起来也不像6行那样偏移。