Jak usunąć nazwany zakres za pomocą vba (z przykładem)
Aby usunąć nazwane zakresy ze skoroszytu programu Excel, możesz użyć następującej składni w języku VBA:
Sub DeleteNamedRanges()
Dim NamedRange As Name
For Each NamedRange In ActiveWorkbook.Names
If NamedRange.Visible Then NamedRange.Delete
Next NamedRange
End Sub
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: usuwanie nazwanych zakresów w skoroszycie programu Excel przy użyciu języka VBA
Załóżmy, że mamy skoroszyt programu Excel zawierający następujące trzy nazwane zakresy:
- Nazwany zakres o nazwie nazwa_arkusza1 w Arkuszu1
- Nazwany zakres o nazwie nazwa_arkusza2 w Arkuszu2
- Nazwany zakres o nazwie nazwa_arkusza3 w Arkusz3
Aby zobaczyć każdy z tych nazwanych zakresów, po prostu kliknij strzałkę rozwijaną w polu Nazwa w lewym górnym rogu arkusza:
Załóżmy, że chcemy usunąć każdy z tych nazwanych zakresów.
W tym celu możemy utworzyć następujące makro:
Sub DeleteNamedRanges()
Dim NamedRange As Name
For Each NamedRange In ActiveWorkbook.Names
If NamedRange.Visible Then NamedRange.Delete
Next NamedRange
End Sub
Po wykonaniu tego makra wszystkie nazwane zakresy w całym skoroszycie zostaną usunięte.
Czy zostały usunięte, możemy sprawdzić ponownie klikając pole Nazwa w lewym górnym rogu jednego z arkuszy:
Widzimy, że pole Nazwa nie zawiera już nazw nazwanych zakresów.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak wkleić same wartości bez formatowania
VBA: Jak skopiować widoczne linie na inny arkusz
VBA: skopiuj wiersze do innego arkusza na podstawie kryteriów