Autoukrywanie wierszy
Autoukrywanie wierszy
Witam,
Proszę o pomoc w stworzeniu makra które ukryje te wiersze w kalkulacji gdzie będzie występował znaczek "-" w kolumnie B (Nazwa opis) z zakresu od wiersza 3 do 102.
Plik w załączniku.
Z góry dzięki za pomoc.
Proszę o pomoc w stworzeniu makra które ukryje te wiersze w kalkulacji gdzie będzie występował znaczek "-" w kolumnie B (Nazwa opis) z zakresu od wiersza 3 do 102.
Plik w załączniku.
Z góry dzięki za pomoc.
- Załączniki
-
- kalkulacja.ods
- (19.41 KiB) Pobrany 160 razy
Libre Office 5.1.5.2
Re: Autoukrywanie wierszy
Czy to koniecznie musi być makro?
Bo samo ukrycie zbędnych wierszy bez problemu załatwisz filtrem.
Bo samo ukrycie zbędnych wierszy bez problemu załatwisz filtrem.
Mój blog o używaniu LibreOffice
LibreOffice 4.2.6, Debian testing amd64
LibreOffice 4.2.6, Debian testing amd64
Re: Autoukrywanie wierszy
Musi być makro.
Ale możesz opisać swoją metodę przy użyciu autofiltra?
Ale możesz opisać swoją metodę przy użyciu autofiltra?
Libre Office 5.1.5.2
Re: Autoukrywanie wierszy
To samo o czym pisał Minio, tylko że makrem.
Kod: Zaznacz cały
Sub Filter()
Dim oSheet
Dim oFilterDesc
Dim oFields(0) As New com.sun.star.sheet.TableFilterField
oSheet = ThisComponent.getSheets().getByIndex(0)
oFilterDesc = oSheet.createFilterDescriptor(True)
oFields(0).Field = 1
oFields(0).IsNumeric = false
oFields(0).StringValue = "-"
oFields(0).Operator = com.sun.star.sheet.FilterOperator.NOT_EQUAL
oFilterDesc.setFilterFields(oFields())
oFilterDesc.ContainsHeader = True
oSheet.filter(oFilterDesc)
End SubLibreOffice 5.1.2.2 Ubuntu 16 LTS
Re: Autoukrywanie wierszy
Jest prawie ok.
Tylko że ma to dotyczyć zakresu tylko i wyłącznie:B3 do B102
Ważne jest też aby makro było przyporządkowane do konkretnego arkusza.
Tylko że ma to dotyczyć zakresu tylko i wyłącznie:B3 do B102
Ważne jest też aby makro było przyporządkowane do konkretnego arkusza.
Libre Office 5.1.5.2
Re: Autoukrywanie wierszy
Kod: Zaznacz cały
Sub Filter()
Dim oSheet
Dim oFilterDesc
Dim oFields(0) As New com.sun.star.sheet.TableFilterField
oSheet = ThisComponent.getSheets().getByName("wycena")
oCell = oSheet.getCellRangeByName("B3:B102")
oFilterDesc = oCell.createFilterDescriptor(True)
oFields(0).Field = 1
oFields(0).IsNumeric = false
oFields(0).StringValue = "-"
oFields(0).Operator = com.sun.star.sheet.FilterOperator.NOT_EQUAL
oFilterDesc.setFilterFields(oFields())
oSheet.filter(oFilterDesc)
End SubLibreOffice 5.1.2.2 Ubuntu 16 LTS
Re: Autoukrywanie wierszy
Nie działa zakres ("B3:B102"), reszta chyba jest ok.
Przy okazji jak można prosić o kod makra do operacji odwrotnej czyli odkrywania tych wierszy?
Przy okazji jak można prosić o kod makra do operacji odwrotnej czyli odkrywania tych wierszy?
Libre Office 5.1.5.2
Re: Autoukrywanie wierszy
Wyjaśnij o co chodzi.gery77 pisze:Nie działa zakres ("B3:B102")
gery77 pisze:Przy okazji jak można prosić o kod makra do operacji odwrotnej czyli odkrywania tych wierszy
Kod: Zaznacz cały
Sub RemoveFilter()
Dim oSheet
Dim oFilterDesc
oSheet = ThisComponent.getSheets().getByName("wycena")
oFilterDesc = oSheet.createFilterDescriptor(True)
oSheet.filter(oFilterDesc)
End SubLibreOffice 5.1.2.2 Ubuntu 16 LTS
Re: Autoukrywanie wierszy
Wpisana "-" w komórkę np. B2 lub B103 też zostaje ukryta a nie powinna.belstar pisze:Wyjaśnij o co chodzi.gery77 pisze:Nie działa zakres ("B3:B102")
Libre Office 5.1.5.2
Re: Autoukrywanie wierszy
Dzieje się tak bo filtr działa dla całej kolumny. Inne rozwiązanie w załączniku.
- Załączniki
-
- kalkulacja.ods
- (24.06 KiB) Pobrany 170 razy
LibreOffice 5.1.2.2 Ubuntu 16 LTS