Frequently asked question
Code:
Sub SelectRandom()
Dim pMxDoc As IMxDocument
Dim pFeatureLayer As IFeatureLayer
Dim pFeatureCursor As IFeatureCursor
Dim pFeature As IFeature
Dim pFeatures() As IFeature
Dim pFeatureSelection As IFeatureSelection
Dim lTotNumFeatures As Long
Dim lNumFeatures As Long
Dim lFeatureCount As Long
Dim lRandom As Long
Dim dPercentage As Double
Dim l As Long
'set number of features to select
lNumFeatures = 500
Set pMxDoc = ThisDocument
Set pFeatureLayer = pMxDoc.FocusMap.Layer(0)
lTotNumFeatures = pFeatureLayer.FeatureClass.FeatureCount(Nothing)
ReDim pFeatures(0 To lTotNumFeatures - 1)
Set pFeatureCursor = pFeatureLayer.FeatureClass.Search(Nothing, False)
Set pFeature = pFeatureCursor.NextFeature
Do While Not pFeature Is Nothing
Set pFeatures(l) = pFeature
l = l + 1
Set pFeature = pFeatureCursor.NextFeature
Loop
pMxDoc.FocusMap.ClearSelection
l = 0
Do While l < lNumFeatures
lRandom = CLng(Rnd * (lTotNumFeatures - 1))
If Not pFeatures(lRandom) Is Nothing Then
pMxDoc.FocusMap.SelectFeature pFeatureLayer, pFeatures(lRandom)
Set pFeatures(lRandom) = Nothing
l = l + 1
End If
Loop
'Refresh
pMxDoc.ActiveView.Refresh
End Sub
Article ID:000007142
Get help from ArcGIS experts
Download the Esri Support App