代码读取右侧的地址,以便在每次更改每个单元格的地址时显示形状图像。
但是,由于位置不佳,图像被切断。
如何修复Excel右上角形状的图像?
另外,当代码移动到下一个单元格时,旧图像保持不变。
当我移动到另一个单元格时,如何擦除现有图像?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = Range("C:C").Column Then
ActiveSheet.Shapes.AddPicture _
Filename:=ActiveCell.Offset(0, 7).Value, _
LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, _
Left:=ActiveCell.Offset(0, 5).Left, _
Top:=ActiveCell.Top, _
Width:=400, Height:=400
Exit Sub
End If
End Sub
1条答案
按热度按时间vmdwslir1#
以下内容不涉及图像的位置,但允许您在添加新图像之前删除前一个图像。
您可以使用全局变量来存储对旧图像的引用(而不是额外的工作表),但如果VBA丢失了引用或您保存/重新加载Excel,则引用将丢失,因此您需要更多代码来在保存之前删除图像,并检查丢失的图像等。
如果您的工作表没有任何其他图像/形状,您也可以执行以下操作