Macro werkt niet

Status
Niet open voor verdere reacties.

basvankrimpen

Gebruiker
Lid geworden
23 jan 2013
Berichten
11
Heren,

Ik heb een macro gemaakt, maar deze werkt niet.. Tenminste hij doet niet wat die zou meoten doen. Ik wil namelijk iets laten ranken op een ander werkblad wanneer de cel in B2 wijzigt. Alleen geeft die aan dat de applicatie niet gestart kan worden. Wat doe ik fout. Hieronder mijn beide macro's.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then

Application.Run ([rank])

End If

End Sub

Code:
Sub rank()

Range("C5").Select
ActiveWorkbook.Worksheets("Ranking BED").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Ranking BED").Sort.SortFields.Add Key:=Range("C5"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Ranking BED").Sort
.SetRange Range("B5:C463")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
End Sub
 
Laatst bewerkt door een moderator:
Pluspuntje: je probeert de code anders op te maken dan gewone tekst. :thumb: Minpuntje: je gebruikt de verkeerde knop. :( Voor code hebben we de CODE knop (#), of je kunt de tag er omheen typen: [ code ] en [ /code] maar dan zonder spaties.
 
Probeer in plaats van dit: Application.Run ([rank])
eens dit: Application.Run ("rank")
 
Je roept toch gewoon een andere procedure aan, wat is er dan mis met gewoon
Code:
Call Rank
 
En in dat geval mag je Call ook nog weglaten.
 
of
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$B$2" Then Range("B5:C463").Sort Range("C5")
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan