Ik moet gewoon het aantal gebieden op een vel tellen. De code die ik heb is:
Sub areas()
Dim i As Long
i = Worksheets("Sheet2").Selection.Areas.Count
MsgBox i
End Sub
Maar om de een of andere reden krijg ik de foutmelding “Object ondersteunt deze eigenschap of methode niet.” Ik heb geen idee waarom. Deze code is in feite gewoon gekopieerd van de Microsoft-website.
Ik krijg niet eens het directe venster om het gedeelte Worksheets("Sheet2").Selection.Areas.Count
af te drukken.
Snelle hulp? Ik gebruik Excel 2010.
Bedankt.
Antwoord 1, autoriteit 100%
Object ondersteunt deze eigenschap of methode niet.
Zie het alsof er iets na de punt op een object wordt aangeroepen. Het is als een ketting.
Een object is een klasse-instantie. Een klasse-instantie ondersteunt enkele eigenschappen die zijn gedefinieerd in die klassetypedefinitie. Het onthult alles wat intelli-sense in VBE je vertelt (er zijn enkele verborgen leden, maar het heeft hier niets mee te maken). Dus na elke punt .
krijg je intelli-sense (die witte vervolgkeuzelijst) die je probeert te helpen de juiste actiete kiezen.
(je kunt op beide manieren beginnen – van voren naar achteren of van achteren naar voren, als je eenmaal begrijpt hoe dit werkt, kun je bepalen waar het probleem zich voordoet)
Typ dit overal in uw codegebied
Dim a As Worksheets
a.
je krijgt hulp van VBE, het is een kleine vervolgkeuzelijst genaamd Intelli-sense
Het bevat alle beschikbare Acties die specifiek object blootstelt aan elke gebruiker. U kunt de .Selection
Lid van de Worksheets()
Class bekijken. Dat is wat de fout je precies vertelt.
Object ondersteunt deze eigenschap of methode niet.
Als u naar het voorbeeld op MSDN
Worksheets("GRA").Activate
iAreaCount = Selection.Areas.Count
IT activates
het vel eerst en belt u de Selection...
Het is niet verbonden, omdat Selection
geen lid is van Worksheets()
klasse. Simply, je kunt Prefix de Selection
Hoe zit het met
Sub DisplayColumnCount()
Dim iAreaCount As Integer
Dim i As Integer
Worksheets("GRA").Activate
iAreaCount = Selection.Areas.Count
If iAreaCount <= 1 Then
MsgBox "The selection contains " & Selection.Columns.Count & " columns."
Else
For i = 1 To iAreaCount
MsgBox "Area " & i & " of the selection contains " & _
Selection.Areas(i).Columns.Count & " columns."
Next i
End If
End Sub
van hier