我一直在为朋友更新一份旧的Excel报告,如果我在这里偏离轨道,我就没有和vba一起工作过了。
我们需要做的部分工作是浏览工作表并获取某些图像并将其移动到其他位置。 图像由用户粘贴,然后用户点击运行宏的按钮 - 其中一部分重命名图像,然后将其拾取并根据其名称将它们移动到正确的位置。 (所以我在这里做的就是我需要来重命名它们。)
我有一个小子做到这一点;
Public Sub NameLargerImages()
Dim sShape As Shape
Dim ShpRow As Long
Dim ShpRow As Long
Dim faultNumber As String
For each sShape In ActiveSheet.Shapes
ShpRow = sShape.TopLeftCell.Row
ShpCol = sShape.TopLeftCell.Column
If ShpRow > 6 Then
If ShpCol = 10 Then
faultNumber = Worksheets("Analysis").Cells(ShpRow - 2, 1)
sShape.Name = faultNumber + "L"
End If
End If
Next
End Sub
这在Excel 2010中完美运行。但是当我们尝试在Excel 2003中使用它时,我们得到了一个 的"运行时错误' 70' "
我无法弄清楚为什么地球上会发生这种情况。广泛的谷歌搜索没有帮助,我真的很茫然。
非常感谢任何帮助/建议。
感谢你
修改 只是添加;导致错误的行是 sShape.Name = faultNumber +" L"
如果我尝试将形状重命名为字符串,例如"保持器"而不是 faultNumber +" L" ,它的工作原理!!但我必须使用变量,因为名称取决于特定单元格中的内容。