Funkcje arkusza
Wersja z dnia 15:29, 24 maj 2024 autorstwa HenrykDabrowski (dyskusja | edycje)
05.12.2020
Wstawianie nowego arkusza
Niekiedy potrzebujemy, aby procedura wstawiła do skoroszytu nowy arkusz i sama dobrała nazwę arkusza różną od nazw już istniejących arkuszy. Zamieszczona niżej procedura rozwiązuje ten problem. Jeśli nie podamy parametru, to wstawianemu arkuszowi zostanie nadana pierwsza wolna nazwa z ciągu: "Arkusz", "Arkusz1", "Arkusz2", "Arkusz3", ... Jeżeli procedura zostanie wywołana z parametrem, to zostanie stworzony analogiczny ciąg nazw, ale zamiast słowa "Arkusz" będzie użyty tekst podany jako parametr.
Sub WstawNowyArkusz(Optional NazwaArkusza as String)
Dim sName as String
Dim k as Long
If IsMissing(NazwaArkusza) Then
sName = "Arkusz"
Else
sName = NazwaArkusza
End If
If NOT ThisComponent.getSheets().hasByName( sName ) Then 'sprawdza czy arkusz o podanej nazwie już istnieje
ThisComponent.getSheets().insertNewByName( sName, 0 ) 'wstawia nowy arkusz na pozycję 1 (z indeksem 0)
Exit Sub
End If
For k = 1 to 10000 'maksymalna liczba arkuszy
If NOT ThisComponent.getSheets().hasByName( sName & k ) Then 'sprawdza czy arkusz o podanej nazwie już istnieje
ThisComponent.getSheets().insertNewByName( sName & k, 0 ) 'wstawia nowy arkusz na pozycję 1 (z indeksem 0)
Exit For
End If
Next k
End Sub
Sub Arkusze1()
Call WstawNowyArkusz()
Call WstawNowyArkusz("Wyniki")
End Sub
LibreOffice Calc – makra – przykłady Strona główna