Het bestellen van werkbladen op basis van een celwaarde

Andere kwesties van ExcelTips hebben verstrekt manieren waarop u de werkbladen in uw werkmap op basis van de naam van het werkblad kunt sorteren. Wat als je de werkbladen op basis van een waarde in een bepaalde cel van elk werkblad te sorteren, echter? Zo kan u een reeks werkbladen die dezelfde algemene lay-out te delen hebt, en je wilt dat de bestelde op basis van de waarde in cel H7 van elk werkblad werkbladen.

De enige manier om dit te behandelen is met een macro. De macro moet doorlopen elk werkblad in de werkmap, en dan onderzoeken de sleutel cel in elk volgend werkblad om te zien hoe het zich verhoudt. Als de cel lager is dan de huidige werkblad dan het werkblad dat de lagere waarde bevat kan worden bewogen.

Sub SortWksByCell ()
Dim i As Integer
Dim j As Integer

Voor i = 1 To Worksheets.Count
Voor j = i Om Worksheets.Count
Als UCase (werkbladen (j) .Range ("H7")) <_
UCase (werkbladen (i) .Range ("H7")) Then
Werkbladen (j) .Breng Vóór: = Worksheets (i)
End If
Volgende
Volgende
End Sub

Let op het gebruik van de methode Move, die de werkelijke beweging van de werkbladen doet. De namen van de werkbladen doen er niet toe, alleen hun positionering op basis van de waarde in cel H7 van elk werkblad.

ExcelTips is uw bron voor kosteneffectieve Microsoft Excel training. Deze tip (2890) is van toepassing op Microsoft Excel 97, 2000, 2002 en 2003. U kunt een versie van deze tip voor de ribbon-interface van Excel (Excel 2007 en later) vindt u hier: Bestellen werkbladen op basis van een celwaarde.