tavantan376
Thành viên mới
- Tham gia
- 23/12/20
- Bài viết
- 5
- Được thích
- 0
Bạn dùng tạm cái này nha....Chào mọi người!
Mình có file excel như này mọi người cho mình xin 1 sub như lệnh sumif khi nhập giá trị cột tên bên SheetA thì tự lấy cột hình dạng bên SheetA qua sheetB.
Mình xin cảm ơn!
Nếu tên cũ xóa đi, gõ tên khác vào, hình cũ vẫn còn và bị chồng hình mới lên, bác xem hộ chủ thớt vớiBạn dùng tạm cái này nha....
đánh cái tên ( vd: BTK1) vào cột A của SheetB
mình làm ra ý tưởng chính theo chủ thớt , bạn muốn "cành hoa lá hẹ" thì bạn... tùy biến nha.Nếu tên cũ xóa đi, gõ tên khác vào, hình cũ vẫn còn và bị chồng hình mới lên, bác xem hộ chủ thớt với
hihi, em chỉ tải về để học hỏi thôi chứ code không biết, hàm thì mù mờ anh ạmình làm ra ý tưởng chính theo chủ thớt , bạn muốn "cành hoa lá hẹ" thì bạn... tùy biến nha.
chình lại :hihi, em chỉ tải về để học hỏi thôi chứ code không biết, hàm thì mù mờ anh ạ
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objShape As Object
If Target.Column = 1 And Target.Count = 1 And Target.Row >= 3 Then
For Each objShape In ActiveSheet.Shapes
If objShape.TopLeftCell.Address = Target.Offset(, 1).Address Then objShape.Delete
Next
If Target.Value <> "" Then
Call CopyPicture(Sheets("SheetA"), Sheets("SheetB"), Target.Offset(, 1).Address, Target.Value)
End If
End If
End Sub
Cảm ơn bác nhé! Để mình thử.chình lại :
Mã:Private Sub Worksheet_Change(ByVal Target As Range) Dim objShape As Object If Target.Column = 1 And Target.Count = 1 And Target.Row >= 3 Then For Each objShape In ActiveSheet.Shapes If objShape.TopLeftCell.Address = Target.Offset(, 1).Address Then objShape.Delete Next If Target.Value <> "" Then Call CopyPicture(Sheets("SheetA"), Sheets("SheetB"), Target.Offset(, 1).Address, Target.Value) End If End If End Sub
chú ý shape phải nằm trọn trong cell thì code mới đúng.
Cảm ơn bạn đã góp ý giúp nhé!Nếu tên cũ xóa đi, gõ tên khác vào, hình cũ vẫn còn và bị chồng hình mới lên, bác xem hộ chủ thớt với
Bạn có thể chỉnh giúp mình 2 ý này với.chình lại :
Mã:Private Sub Worksheet_Change(ByVal Target As Range) Dim objShape As Object If Target.Column = 1 And Target.Count = 1 And Target.Row >= 3 Then For Each objShape In ActiveSheet.Shapes If objShape.TopLeftCell.Address = Target.Offset(, 1).Address Then objShape.Delete Next If Target.Value <> "" Then Call CopyPicture(Sheets("SheetA"), Sheets("SheetB"), Target.Offset(, 1).Address, Target.Value) End If End If End Sub
chú ý shape phải nằm trọn trong cell thì code mới đúng.