You are on page 1of 2

Sub CONTAR_BLOCOS()

Dim A(1000, 2)
On Error Resume Next
Dim obj As AcadObject
Dim elem As Object
On Error Resume Next
AUX01 = 0: TOT = 0
For Each elem In ThisDrawing.ModelSpace
K1 = elem.EntityName
If InStr(1, K1, "Block") = 0 Then GoTo 200
Set obj = ThisDrawing.HandleToObject(elem.Handle)
K3 = obj.Name
For I1 = 0 To AUX01
If A(I1, 0) = K3 Then GoTo 100
If A(I1, 0) <> "" Then GoTo 50
A(I1, 0) = K3
A(I1, 1) = A(I1, 1) + 1
AUX01 = AUX01 + 1
GoTo 200
50

Next I1

100 A(I1, 1) = A(I1, 1) + 1


200 Next
S1 = "QUANT" & Chr(9) & "BLOCOS" & Chr(10)
For I2 = 0 To AUX01
TOT = TOT + 1
S1 = S1 & Chr(10) & A(I2, 1) & Chr(9) & A(I2, 0)
If TOT < 10 Then GoTo 400
MsgBox S1
S1 = "QUANT" & Chr(9) & "BLOCOS" & Chr(10)
TOT = 0
400 Next
If TOT = 0 Then GoTo 1000

MsgBox S1
1000 End Sub

You might also like