Điều đầu tiên bạn cần nghiên cứu là: VBA gọi tên cái Group ấy là gì?
Ta có thể thí nghiệm:
- Giả sử tôi có 1 Rectangle được đặt tên là "Rec", 1 TextBox được đặt tên là "Text" và 1 Oval được đặt tên là "Oval"
- Cả 3 đối tượng trên được group lại với nhau và cái group ấy được đặt tên là "Group"
- Bây giờ tôi sẽ chọn vào "Group". Xong vào cửa sổ VBA, mở cửa sổ Immediate (bằng cách bấm Ctrl + G) và gõ dòng lệnh ?Typename(Selection) rồi Enter. Kết quả nhận được là GroupObject
Đã biết cái group ấy được gọi tên là GroupObject xem như xong chuyện:
Mã:
Sub Test()
Dim grp As GroupObject
Set grp = Sheet1.GroupObjects("Group")
End Sub
- Để đếm số phần tử trong group:
Mã:
grp.ShapeRange.GroupItems.Count
- Để thay đổi Characters.Text của 1 phần tử trong group:
Xin hỏi anh @ndu96081631 thêm 1 lần nữa tại sao tôi sử dụng
Sheet1.Shapes("Group 14").GroupItems("Text Box 10").TextFrame2.TextRange.Characters.Text = "@@@@@"
thì chạy tốt trên Excel 2013 mà không chạy trên Excell 2003?
Xin cảm ơn anh!