Giúp mình kiẻm tra xem đối tượng đã có hay chưa có?

Liên hệ QC

manhdungxf

Thành viên mới
Tham gia
4/8/06
Bài viết
3
Được thích
0
mình có tên một đối tượng sharps (vd như một đường thẳng, 1 hình chữ nhật, 1 group...), mình muốn biết trong file đang mở có đối tượng này hay chưa thì làm thế nào?
 
Lần chỉnh sửa cuối:
Nếu tìm tất cã thì ko có vấn đề, còn tìm riêng từng đối tượng nào đó thì.. e rằng hơi khó, vì mỗi đối tượng có 1 tên riêng, biết đâu mà tìm
ANH TUẤN
 
Upvote 0
Thực ra bài toán của mình là vẽ một đối tượng Sharp, đồng thời đặt tên cho đối tượng vừa vẽ (tên do mình tự đặt), vì thế cần xác định xem tên minh muốn đặt đã được sử dụng chưa.
 
Upvote 0
manhdungxf đã viết:
Thực ra bài toán của mình là vẽ một đối tượng Sharp, đồng thời đặt tên cho đối tượng vừa vẽ (tên do mình tự đặt), vì thế cần xác định xem tên minh muốn đặt đã được sử dụng chưa.

Bạn gửi File lên để tham khảo xem được không ???

Thân!
 
Upvote 0
Bạn tham khảo cái này xem có giúp được gì không, nha.

manhdungxf đã viết:
mình muốn biết trong file đang mở có đối tượng này hay chưa thì làm thế nào?
Vẽ vài (chục) cái hình & cho chạy macro sau; Sao đó suy ngẫm tiếp
PHP:
Option Explicit

Sub GetShapeProperties()
    Dim sShapes As Shape, lLoop As Long
    Dim wsStart As Worksheet
    
    Set wsStart = ActiveSheet
    wsStart.Range(Cells(1, 4), Cells(1, 9)) = _
     Array("Shape Name", "Shape Type", "Height", "Width", "Left", "Top")
    'Loop through all shapes on active sheet'
    For Each sShapes In wsStart.Shapes
        'Increment Variable lLoop for row numbers'
        lLoop = lLoop + 1
        With sShapes
            'Add shape properties'
            wsStart.Cells(lLoop + 1, 4) = .Name
            wsStart.Cells(lLoop + 1, 5) = .OLEFormat.Object.Name
            wsStart.Cells(lLoop + 1, 6) = .Height
            wsStart.Cells(lLoop + 1, 7) = .Width
            wsStart.Cells(lLoop + 1, 8) = .Left
            wsStart.Cells(lLoop + 1, 9) = .Top
            'Follow the same pattern for more'
        End With
    Next sShapes
    wsStart.Columns.AutoFit
End Sub
 
Upvote 0
Bạn thử đoạn code sau xem có được không.
PHP:
Sub TimDtuong()
On Error Resume Next
Dim Value As String, Shp As Shape, t As Boolean
Value = InputBox("Ban hay dien ten doi tuong (Shape) can tim vao o trong")
t = False
For Each Shp In ActiveSheet.Shapes
    If Shp.Name = Value Then
        t = True
        Exit For
    End If
Next
If t = True Then
    MsgBox "Da co doi tuong (Shape) ten: " & Value
Else: MsgBox "Chua co doi tuong (Shape) ten: " & Value
End If
End Sub
 
Upvote 0
cám ơn anh em đã hỗ trợ, đoạn code mình cần chính là đoạn code bạn minhlev đã post lên.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom