Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 8. 10. 2019 14:51:41

davef6
Člen
Registrace: 21. 11. 2018
Příspěvků: 7

Vynechání určitých řádků při opisu do dalšího listu - VYŘEŠENO

Zdravím, mám soubor s několika listy a přepisuji makrem data z jednoho listu do druhého, ale při určité podmínce dojde k vynechání některých řádků. Nedaří se mi udělat to, aby v koncovém listu nebyly mezi daty prázdné řádky, poradí někdo jak na to?

Sub Start
    Dim sVar, sVal, svall, Old as string
    Dim iVar, iVal, iVall, iDelenec, iDelitel as Long
    iVar = GetLastRow(1)
    oSheet1 = thisComponent.Sheets(1)
    oSheet2 = thisComponent.Sheets(2)
    oSheet3 = thisComponent.Sheets(3)
    iVal = iVar
    For j = 1 To iVar
    For i = 0 To 9
    If InStr(oSheet2.getCellByPosition(8,j).String, "d") > 0 OR InStr(oSheet2.getCellByPosition(8,j).String, "o") > 0 or InStr(oSheet2.getCellByPosition(8,j).String, "a") > 0 Then
        Select Case i
            Case 0
            oSheet3.getCellByPosition(i,j).Formula = "=$slouceni.C"&(j+1)
            Case 1
            oSheet3.getCellByPosition(i,j).Formula = "=$slouceni.D"&(j+1)
            Case 2
            oSheet3.getCellByPosition(i,j).Formula = "=$slouceni.P"&(j+1)
            Case 3
            oSheet3.getCellByPosition(i,j).Formula = "=$slouceni.G"&(j+1)
            Case 4
            oSheet3.getCellByPosition(i,j).Formula = "=$slouceni.K"&(j+1)
            Case 5
            oSheet3.getCellByPosition(i,j).Formula = "=$slouceni.L"&(j+1)
            Case 6
            oSheet3.getCellByPosition(i,j).Formula = "=$slouceni.M"&(j+1)
            Case 7
            oSheet3.getCellByPosition(i,j).Formula = "=$slouceni.F"&(j+1)
            oSheet3.getCellByPosition(i,j).CellBackColor = RGB(238,238,238)
            Case 8
            oSheet3.getCellByPosition(i,j).Formula = "=$slouceni.N"&(j+1)
            Case 9
            oSheet1.getCellByPosition(23,j).Formula = "=IF($udaje_pro_druzstvo.I"&(j+1)&"="&Chr(34)&"d"&Chr(34)&";1;0)"
            oSheet3.getCellByPosition(i,j).Formula = "=$udaje_pro_druzstvo.I"&(j+1)
        End Select
    Else
        *****  něco  *****
    EndIf
    Next i
    Next j
end Sub

díky

Editoval davef6 (11. 10. 2019 07:20:01)

Offline

#2 8. 10. 2019 15:06:23

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 567

Re: Vynechání určitých řádků při opisu do dalšího listu - VYŘEŠENO

Já to většinou dělám vnořeným "cyklem" k=k+1, který se spustí jen při splnění podmínky. U vás běží cyklus "i" a "j" v každém případě, pokud byste uvnitř IF měl k=k+1 a řádek pak vázaný na "k" místo na "j", tak by to řádky vynechávat nemělo.


LibreOffice 6.2.

Offline

#3 8. 10. 2019 16:56:26

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,983

Re: Vynechání určitých řádků při opisu do dalšího listu - VYŘEŠENO

Postavte buď jiné číslo pro uložení do každého CASE (máte tam tvrdé "i" z cyklu. Mělo by tam být něco jako iVar který se zvedne o + 1 až kdy poslední pozici obsadí příklad :

Case 0
            oSheet3.getCellByPosition(iVar,j).Formula = "=$slouceni.C"&(j+1)
            iVar = ivar + 1
Case 1

     Nebo jiný příklad pomocí CASE ELSE :

Case 9
            oSheet1.getCellByPosition(23,j).Formula = "=IF($udaje_pro_druzstvo.I"&(j+1)&"="&Chr(34)&"d"&Chr(34)&";1;0)"
            oSheet3.getCellByPosition(i,j).Formula = "=$udaje_pro_druzstvo.I"&(j+1)
CASE ELSE
    GoTo Endes
End Select
    Else
        *****  něco  *****
    EndIf
Endes:
Next i

     Existují mimo řešení pana Trnky jiná řešení například před spuštěním testu, nebo spíš potom když makro s uvedeným algoritmem skončí. Možností je docela dost :


Cyklem který iteruje od konce k začátku mazat prázdné řádky - to je celkem spolehlivé - zachovává pořadí, ale je to pomalé.


Vybavit použité řádky v pomocném sloupci pořadím [typ zápisu ROW()] - ale nesmí to být vzorec jenom číslo. A následně docela sprostě seřadit makrem a smazat pomocý sloupec.


Celkem bych řekl že to lze asi desítkou způsobů jinak. Upřednostnit by se měla rychlejší nebo spolehlivější metoda.


Ale je ještě hodně dalších možností. Například postupně odladit všechny přeskakované případy aby je vychytala vstupní podmínka Ladíme tak že zapisujeme ty které by se měly smazat - najdeme co to je za příčinu a zavedeme do podmínky.
     Podobným způsobem, ale opačně - Selectem chytit chyby a bezchybné pustit k zápisu jiným Selectem nebo Switchem ap.


PS: měl jsem ještě připsat, že některá podmínka posílá k vypsání a něco je špatně. Takže příliš široké zahrnutí do Selectu, nebo slabé podmínky v IF..

Editoval neutr (8. 10. 2019 17:18:38)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#4 9. 10. 2019 11:19:00

davef6
Člen
Registrace: 21. 11. 2018
Příspěvků: 7

Re: Vynechání určitých řádků při opisu do dalšího listu - VYŘEŠENO

Díky za rady, zkoušel jsem vnořený cyklus, ale nefunguje to podle mých představ a pak i řešení co psal neutr, ale zdá se, že to nedám dohromady, i když na tom asi nic nebude. Našel by se nějaký "dobrák", který mi ukáže řešení v tom kompletním kódu?

Offline

#5 9. 10. 2019 20:51:34

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,983

Re: Vynechání určitých řádků při opisu do dalšího listu - VYŘEŠENO

Sub Start
    Dim sVar, sVal, svall, Old as string
    Dim iVar, iVal, iVall, iDelenec, iDelitel as Long
    'iVar = GetLastRow(1)
    oSheet1 = thisComponent.Sheets(1)
    oSheet2 = thisComponent.Sheets(2)
    oSheet3 = thisComponent.Sheets(3)
    oSheet4 = thisComponent.Sheets(4)
    iVal = iVar
    For j = 1 To 53 'iVar
    For i = 0 To 9
    If InStr(oSheet2.getCellByPosition(8,j).String, "d") > 0 OR _ 
       InStr(oSheet2.getCellByPosition(8,j).String, "o") > 0 OR _ 
       InStr(oSheet2.getCellByPosition(8,j).String, "a") > 0 Then
        Select Case i
            Case 0
            oSheet3.getCellByPosition(i,j).Formula = "=HYPERLINK(""#List2.C" &(j+1)&""";""$slouceni.C"&(j+1)&""")" '"=$slouceni.C"&(j+1)
            oSheet4.getCellByPosition(i,j).string = oSheet2.getCellByPosition(8,j).String
            Case 1
            oSheet3.getCellByPosition(i,j).Formula = "=HYPERLINK(""#List2.D" &(j+1)&""";""$slouceni.D"&(j+1)&""")" '"=$slouceni.D"&(j+1)
            oSheet4.getCellByPosition(i,j).string = oSheet2.getCellByPosition(8,j).String
            Case 2
            oSheet3.getCellByPosition(i,j).Formula = "=HYPERLINK(""#List2.P" &(j+1)&""";""$slouceni.P"&(j+1)&""")" '"=$slouceni.P"&(j+1)
            oSheet4.getCellByPosition(i,j).string = oSheet2.getCellByPosition(8,j).String
            Case 3
            oSheet3.getCellByPosition(i,j).Formula = "=HYPERLINK(""#List2.G" &(j+1)&""";""$slouceni.G"&(j+1)&""")" '"=$slouceni.G"&(j+1)
            oSheet4.getCellByPosition(i,j).string = oSheet2.getCellByPosition(8,j).String
            Case 4
            oSheet3.getCellByPosition(i,j).Formula = "=HYPERLINK(""#List2.K" &(j+1)&""";""$slouceni.K"&(j+1)&""")" '"=$slouceni.K"&(j+1)
            oSheet4.getCellByPosition(i,j).string = oSheet2.getCellByPosition(8,j).String
            Case 5
            oSheet3.getCellByPosition(i,j).Formula = "=HYPERLINK(""#List2.L" &(j+1)&""";""$slouceni.L"&(j+1)&""")" '"=$slouceni.L"&(j+1)
            oSheet4.getCellByPosition(i,j).string = oSheet2.getCellByPosition(8,j).String
            Case 6
            oSheet3.getCellByPosition(i,j).Formula = "=HYPERLINK(""#List2.N" &(j+1)&""";""$slouceni.M"&(j+1)&""")" '"=$slouceni.M"&(j+1)
            oSheet4.getCellByPosition(i,j).string = oSheet2.getCellByPosition(8,j).String
            Case 7
            oSheet3.getCellByPosition(i,j).Formula = "=HYPERLINK(""#List2.F" &(j+1)&""";""$slouceni.F"&(j+1)&""")" '"=$slouceni.F"&(j+1)
            oSheet3.getCellByPosition(i,j).CellBackColor = RGB(238,238,238)
            oSheet4.getCellByPosition(i,j).string = oSheet2.getCellByPosition(8,j).String
            Case 8
            oSheet3.getCellByPosition(i,j).Formula = "=HYPERLINK(""#List2.N" &(j+1)&""";""$slouceni.N"&(j+1)&""")" '"=$slouceni.N"&(j+1)
            oSheet4.getCellByPosition(i,j).string = oSheet2.getCellByPosition(8,j).String
            Case 9
            oSheet1.getCellByPosition(i,j).Formula = "=IF($udaje_pro_druzstvo.I"&(j+1)&"="&Chr(34)&"d"&Chr(34)&";1;0)" '23
            oSheet3.getCellByPosition(i,j).Formula = "=HYPERLINK(""#List2.I" &(j+1)&""";""$udaje_pro_druzstvo.I"&(j+1)&""")" '"=$udaje_pro_druzstvo.I"&(j+1)
            Case Else 'Filtrem Case přeskočené
            oSheet4.getCellByPosition(i+11,j).string = "Vyřazuje Case Else " & j & " " & oSheet2.getCellByPosition(8,j).String
        End Select
    Else
    oSheet4.getCellByPosition(i+22,j).string = "Vyřazuje Else IF " & j & " " & oSheet2.getCellByPosition(8,j).String
        '*****  něco  *****
    EndIf
    Next i
    Next j
end Sub

     Dejte pozor při testování. Udělejte si raději kopii. Testoval jsem to na jinak nazvaných listech. Princip je v tom, že nyní se do listu 4 zapisují testované hodnoty. Na listu jsou vypsány hodnoty odfiltrované - ale u mne Case Else nic neodfiltrovalo - měl jsem tam náhodné řetězce.
Dejte pozor přidal jsem "4" list do kterého se dělá test podle vyřazení. Do listu 3 se dělají hyperlinky které skáčou do listu 2 odkud se čte.
     Udělejte si list 4 jako nový a prázdný - musí být na 5. místě. Tam se nakopíruje vše. Hyperlinky je to co jste asi zamýšlel tím vzorcem - ale asi jinam. Takže raději list 3 také nový prázdný.

Editoval neutr (9. 10. 2019 20:53:36)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#6 10. 10. 2019 08:31:33

davef6
Člen
Registrace: 21. 11. 2018
Příspěvků: 7

Re: Vynechání určitých řádků při opisu do dalšího listu - VYŘEŠENO

Děkuji za trpělivost, ale nevím jestli jsme se správně pochopili. Jde mi pouze o zkopírování řádků z jednoho listu do druhého, kde ve zdrojovém listu je sloupec (viz. můj první kód) oSheet2.getCellByPosition(8,j), který nabývá hodnot "d", "o", "n", "a" a "prázdná buňka". Záznamy se překopírují do druhého listu, ale pouze řádky, kde bude v prvním listu na oSheet2.getCellByPosition(8,j) jen "d", "a", "o". Problém je, že mi v mém kódu vznikají prázdné řádky na místě kde je "n" nebo "prázdná buňka" po překopírování do druhého listu. Toho se potřebuji zbavit. I tento poslední kód mi tam nechává prázdné řádky smile

Offline

#7 10. 10. 2019 10:51:52

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,983

Re: Vynechání určitých řádků při opisu do dalšího listu - VYŘEŠENO

To co jsem poslal je diagnostika která by měla určit proč se tak děje.
     Psal jsem to v příspěvku #3 PS: měl jsem ještě připsat, že některá podmínka posílá k vypsání a něco je špatně. Takže příliš široké zahrnutí do Selectu, nebo slabé podmínky v IF.


     Takže jestli jde jenom o řazení ve sloupcích pod sebe je potřebně pouze vytvořit proměnnou pro každý řádek samostatně - tedy 10 různých. Podívám se na to - mělo by to být za chvilku.

Editoval neutr (10. 10. 2019 10:52:42)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#8 10. 10. 2019 11:10:58

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,983

Re: Vynechání určitých řádků při opisu do dalšího listu - VYŘEŠENO

Sub Start_2
    Dim sVar, sVal, svall, Old as string
    Dim iVar, C_, D_, P_, G_, K_, L_, M_, F_, N_, I_ as Long
    C_=1 : D_=1 : P_=1 : G_=1 : K_=1 : L_=1 : M_=1 : F_=1 : N_=1 : I_=1
    iVar = GetLastRow(1)
    oSheet1 = thisComponent.Sheets(1)
    oSheet2 = thisComponent.Sheets(2)
    oSheet3 = thisComponent.Sheets(3)
    iVal = iVar
    For j = 1 To iVar
    For i = 0 To 9
    If InStr(oSheet2.getCellByPosition(8,j).String, "d") > 0 OR _
    InStr(oSheet2.getCellByPosition(8,j).String, "o") > 0 OR _
    InStr(oSheet2.getCellByPosition(8,j).String, "a") > 0 Then
        Select Case i
            Case 0
            oSheet3.getCellByPosition(i,C_).Formula = "=$slouceni.C"&(j+1)
            C_= C_ + 1
            Case 1
            oSheet3.getCellByPosition(i,D_).Formula = "=$slouceni.D"&(j+1)
            D_= D_ + 1
            Case 2
            oSheet3.getCellByPosition(i,P_).Formula = "=$slouceni.P"&(j+1)
            P_= P_ + 1
            Case 3
            oSheet3.getCellByPosition(i,G_).Formula = "=$slouceni.G"&(j+1)
            G_= G_ + 1
            Case 4
            oSheet3.getCellByPosition(i,K_).Formula = "=$slouceni.K"&(j+1)
            K_= K_ + 1
            Case 5
            oSheet3.getCellByPosition(i,L_).Formula = "=$slouceni.L"&(j+1)
            L_= L_ + 1
            Case 6
            oSheet3.getCellByPosition(i,M_).Formula = "=$slouceni.M"&(j+1)
            M_= M_ + 1
            Case 7
            oSheet3.getCellByPosition(i,F_).Formula = "=$slouceni.F"&(j+1)
            oSheet3.getCellByPosition(i,F_).CellBackColor = RGB(238,238,238)
            F_= F_ + 1
            Case 8
            oSheet3.getCellByPosition(i,N_).Formula = "=$slouceni.N"&(j+1)
            N_= N_ + 1
            Case 9
            oSheet1.getCellByPosition(23,j).Formula = "=IF($udaje_pro_druzstvo.I"&(j+1)&"="&Chr(34)&"d"&Chr(34)&";1;0)"
            oSheet3.getCellByPosition(i,I_).Formula = "=$udaje_pro_druzstvo.I"&(j+1)
            I_= I_ + 1
        End Select
    Else
        '*****  něco  *****
    EndIf
    Next i
    Next j
end Sub

PS :
     Ještě jsem musel opravit start ve sloupcích - začínal jsem od nuly a pak jsem si uvědomil, že start je pod nadpisem na řádku makra 1 (sešit - řádek 2)

Editoval neutr (10. 10. 2019 11:30:11)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#9 10. 10. 2019 17:01:11

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 567

Re: Vynechání určitých řádků při opisu do dalšího listu - VYŘEŠENO

Nebo takto?

Dim PodminkaSplnena As Boolean
PodminkaSplnena = True

For j = 1 To iVar
    If PodminkaSplnena = True Then
	k = k + 1
    End If    
    PodminkaSplnena = False
    For i = 0 To 9
	If InStr(oSheet2.getCellByPosition(8,j).String, "d") > 0 OR _
   	InStr(oSheet2.getCellByPosition(8,j).String, "o") > 0 OR _
    	InStr(oSheet2.getCellByPosition(8,j).String, "a") > 0 Then
        	PodminkaSplnena = True
		Select Case i
	       		'vkládáme do řádku k
		end Select
	End if
    Next i
Next j

Editoval ludviktrnka (11. 10. 2019 07:08:44)


LibreOffice 6.2.

Offline

#10 10. 10. 2019 21:45:43

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,983

Re: Vynechání určitých řádků při opisu do dalšího listu - VYŘEŠENO

pro Ludvík Trnka :
     Takhle by to nešlo. Když byste si udělal tabulku podle vnořeného cyklu, tak byste si uvědomil že se jedná o tabulku X*Y, takže i tam musí být místo tvrdého čísla sloupce proměnná obecného typu. Podle ní se přiřazuje do sloupce Ale to je jenom jedna věc.


     Ty mezery nejsou vždy pravidelné. Váš kód by to posouval vždy jen na hodnotu o jednu menší "j". Takže mezery by byly i tak - jen někdy by se to povedlo. Skutečně je nutné aby měl každý sloupec svůj iterátor pořadí který zabírá jen když je sloupec aktivován.


     davef6 neuvádí co je v nadpisech, ale myslím že tam jsou specificky odfiltrované výrazy. Má empiricky zřejmě otestováno, že znaky "d, o, a" jsou typické podle pozice ve výrazu. Ty 3 písmenka pokrývají celou rozmanitost 10-ti přiřazovaných výrazů. Když by vystačil s jediným znakem, tak by bylo typické, že tento znak se nachází u všech výrazů - ale na jiné pozici.
     Protože ale s jedním znakem nevystačí musel vybrat takové znaky, které jsou unikátně obsažené v příslušných výrazech. To je celkem chytré řešení, ale dost pracné na vytvoření správného odfiltrování. Proto jsem se domníval, že v tom logickém řazení může být chyba. Například by stačilo, aby měl některý výraz hledaný znak na 11. pozici. Potom by prošel filtrem "Select". Když by měl jiné pořadí podmínky IF v pořadí OR tak by se stávalo, že se kladně vyhodnotí první "OR" a výraz půjde do jiného sloupce.


      Právě proto se davef6 bojí změnit uspořádání "selectu" a podmínky IF. Tuhle logickou strukturu nabourat by vedlo k tomu, že může celé makro vyhodit. U vašeho systému by se mohlo stát, že při správném přiřazení a následném potlačení inkrementace řádku + další správné přiřazení do stejného sloupce by přepsalo původní zápis - plno výsledků be se takto mohlo vytratit.


No nic - uvidíme jestli davef6 vyjádří že to funguje, nebo nikoliv. Nemá ve zvyku odpovídat záhy, ale až když opět něco potřebuje. Takže se dozvíme brzo jen když to fungovat nebude :-)

Editoval neutr (10. 10. 2019 21:48:01)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#11 10. 10. 2019 21:56:32

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 567

Re: Vynechání určitých řádků při opisu do dalšího listu - VYŘEŠENO

Myslel jsem že jde o celé řádky a nikoliv o jednotlivá data. Já nabízím řešení pro celé řádky. Jestli jde tazateli o úplnou "kompresi" dat pak je to vaše řešení samozřejmě správné.


LibreOffice 6.2.

Offline

#12 11. 10. 2019 06:56:55

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,983

Re: Vynechání určitých řádků při opisu do dalšího listu - VYŘEŠENO

Autor to nepopisuje, takže se mohu mýlit.
     Makro prohledává 10 (ale možná i více sloupců) z listu2. Co tam je nevím, ale podle toho že jde o nějaké adresy zřejmě bytového družstva. Můžeme si představit k čemu se to používá :


Nejspíš jde o kontrolu došlých plateb, nebo denník doručené pošty. Vypadá to, že uživatel je nějak pověřen družstvem aby odesílal sumačně v určité struktuře doklady k ověření nebo k archivaci.... Může to být ale také jakákoliv firemní evidence - například objednávky, nebo zálohové platby. Potom by šlo možná o 10 typických materiálů a podobně.


Takže když si to promítneme jako příklad struktury zdrojové tabulky, bude možná potřebné prohledat za každý měsíc například 20 datumů (například platby od 1 do 20.-ho každého měsíce). To bývá termín splatnosti a podobně.
     Jenže v tomto termínu budou chodit platby od různých subjektů v různých termínech "od-do", a nebo také po termínu, přijdou opravy, mimořádné doplatky nebo i různá oznámení a jiné podobné záležitosti. někdy se může stát, že byt je nějak vyřazen (nemá nájemníka), nebo se právě převádí a platby mohou chodit od dvou lidí na stejné konto. Takže nelze čekat že vždy bude v měsíci 10 dokladů. Může tam být například od 5 - do 20-ti položek....
     Takže když přijdou doklady i všechny různé od různých subjektů, je možné, že jsou seřazení podle toho jak přišly. Představou je tabulka s řídkými daty která má různé počty položek které nelze předem ani predikovat.
     Určitě si dovedu představit, že někdo začne tvrdit, že zaplatil například nedoplatek zvýšením předepsané platby. Družstvo musí dohledat zda se takové tvrzení zakládá na pravdě. Může jít o souběh bankovních převodů, platby složenkou, nebo i hotovostí do pokladny.
     Dá se čekat potřeba prověřit čísla účtů, variabilních symbolů a podobně. Prostě tykové prohledávání může být i za dobu 10 let (i více) zpět. Jenom za 10 let zpět by to bylo 12 x 20 x 10 = 2400 řádků za předpokladu že se vyhledává 100 měsíců s rozsahem 20 dnů/měsíc. Manuálně se to musí dohledat a například přefotit, nebo založit a skartovat.............


Nelze předpokládat že to bude jednoduché převedení z jedné uspořádané tabulky do jiné, která má jen jinou strukturu (k tomu svádí to, že se hledá v listu2 stejnýcm rozsahem zanořených cyklů. Ty mohou být záměrně zjednodušeny, a co víc také podmínka ElseIF (nebo jen Else) může skrývat další podobné filtry pro data která se prvním filtrům vymykají.


Ať už to má davef6 k jakémukoliv účelu - je to jistě velice důležité. Možná bude pracovat i několik dní. Pokud mu dochází čas nemůže se zabývat jalovými vstupy jako je uvedení skutečnosti, že je VYŘEŠENO.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#13 11. 10. 2019 07:18:27

davef6
Člen
Registrace: 21. 11. 2018
Příspěvků: 7

Re: Vynechání určitých řádků při opisu do dalšího listu - VYŘEŠENO

Zdravím pánové, koukám že se tu diskuse trochu rozrostla smile Měl jsem možnost to odzkoušet až nyní. Řešení od neutr funguje skvěle, moc děkuji.

Takhle by to nešlo. Když byste si udělal tabulku podle vnořeného cyklu, tak byste si uvědomil že se jedná o tabulku X*Y, takže i tam musí být místo tvrdého čísla sloupce proměnná obecného typu. Podle ní se přiřazuje do sloupce Ale to je jenom jedna věc.

ano, to je pravda

Děkuji oběma za řešení a snahu wink mějte se fajn

Offline

#14 11. 10. 2019 07:21:28

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 567

Re: Vynechání určitých řádků při opisu do dalšího listu - VYŘEŠENO

OK, asi je potřeba zde volit pojem buňka a nikoli pojem řádek :-)


LibreOffice 6.2.

Offline

Zápatí