Private Sub Worksheet_Change(ByVal Target As Range)
Dim mydict As Object
Dim shp As Shape
Dim i, irow As Long
Set mydict = CreateObject("Scripting.Dictionary")
irow = 0
For Each shp In Sheet1.Shapes
If Not mydict.exists(UCase(shp.Name)) Then
irow = irow + 1
mydict.Add UCase(shp.Name), irow
End If
Next
If mydict.exists(UCase(Sheet1.Range("A1"))) Then
Sheet1.Shapes(Sheet1.Range("A1")).Left = 100
Sheet1.Shapes(Sheet1.Range("A1")).Top = 30
End If
End Sub
Đoạn code này là sẽ di chuyển vị trí các shapes vào chỗ bạn muốn, mình chưa rõ là bạn muốn copy cái hình vào ô đấy hay move hình vào ô đấy