Date: prev next · Thread: first prev next last


Tack för era engagemang!

Johnny Rosenberg skrev 2012-09-14 21:56:
Den 14 september 2012 21:05 skrev Jan Öhman <Jan_Ohman@glocalnet.net>:
Jag har funderat på det, men dokumentet är ganska stort!
Det består av 5-10 tabeller (flikar)
Varav den största omfattar A1 - ca  AF1100
Det finns en mängd länkar mellan flikarna och nästan alla rutor har en
villkorlig formatering.
Många rutor har olika färger.

Detta medför att jag inte tror att det är lätt att kopiera tabell för tabell
till ett nytt dokument.

Det bästa "lyftet" för detta dokument hade varit att skapa en databas.
Men när ett försök gjordes i OpenOffice Base insåg jag att mycket måste
börja att lösas med egna makron.
(Vet inte hur utvecklat LibreOffice Base är...)

Kalkylbladet uppdateras ett par gånger i månaden.

//Jan
Både LibreOffice och OpenOffice.org är ju kända för att vara
långsamma, så frågan är kanske snarare varför det gick snabbt i
OpenOffice.org. Gammal version, kanske…? :P

Nåja, det finns i alla fall några saker att tänka på om hastigheten är
viktig. Jag är långt ifrån någon expert, men utifrån min egen ringa
erfarenhet har jag några saker som jag reflekterat över.
Exempelvis när du använder villkorlig formatering, titta på hur du har
gjort dem. Finns det några halvkomplicerade formler i villkoren?
Exempel: Du vill att alla celler som har samma värde som maxvärdet i
kolumnen ska få grön bakgrundsfärg (exempelvis genom att använda
formatmallen ”GrönBakgrund” som du skapat själv). Då är det ju lätt
att man får för sig att i villkoret peta in något i stil med
MAX($A$1:$A$10000) i formeln. Sedan kopierar man formateringen till en
himla massa rader och kolumner, kanske tusentals, säg 10000 celler
totalt. Det innebär att Calc måste gå igenom samma 10000 celler 10000
gånger varje gång ett värde inmatats, för att avgöra vilken formatmall
som ska användas. Den kommer alltså att leta igenom 100000000 (hundra
miljoner) celler varje gång, även om det är samma 10000 celler hela
tiden. I detta fall kan man komma runt det lite genom att helt enkelt
räkna ut MAX-formeln en gång för alla och lägga svaret i en cell,
gärna dold om man inte vill se värdet. Sedan hänvisar men till den
cellen istället.

Likadant med cellformler. Finns det tusentals celler som räknar ut
exakt samma sak så blir det snabbare om man låter en cell räkna ut
just den biten och sedan referera till den cellen hela tiden istället.
De formler som är vanligast är "enkla" typ (dock olika i varje cell)
=ANTAL.OM($Körlista.$P$32:$Körlista.$P$97;$Körlista.$P$2) eller =$Körlista.O$2

Denna formel finns i kanske 20-30 celler
=OM($A$21<D4;"Grupp1"; OM($A$21<D5;"Grupp2"; OM($A21<D6;"Grupp3"; OM($A21<D7;"Grupp4"; OM($A21<D8;"Grupp5"; OM($A21<D9;"Grupp6"; OM($A21<D10;"Grupp7"; OM($A21<D11;"Grupp8"; OM($A21<D12;"Grupp9"; OM($A21<D13;"Grupp10"; OM($A21<D14;"Grupp11"; OM($A21<D15;"Grupp12"; OM($A21<D16;"Grupp13"; OM($A21<D17;"Grupp14"; OM($A21<D18;"Grupp15"; OM($A21<D19;"Grupp16"))))))))))))))))


Dock hittar jag något "spännande" som förmodligen inte går att lösa på annat sätt än att börja om från början.
Som villkorlig formatering står det
"formeln är    Körlista.#REF1=0"
"Använd forma    Excel_CondFormat 2_1_1"
Och denna formel fungerar ju inte i uppskattningsvis 100 celler....

Det som är "läskigare", är att om villkorlig formatering för cell K21 ändras till.: "Formlen är J20=0"
Ändras även en annan ruta jag testat den villkorliga formateringen på (K23).
Ändrar jag cell K23 till "Formlen är J23=0" ändras cell K21 till .: "Formlen är J23=0"

Måste man alltid ha med "filknamet med fromeln ex. Körlista.J23 = 0 (i stället för bara J23=0)

Detta är problemet (dock vet jag inte hur det ska lösas)

Angående makron: Enklaste är ju att lägga till sökvägen där dokumentet
ligger i listan för godkända sökvägar. Tror det är något i stil med
Verktyg → Alternativ… → LibreOffice → Säkerhet → Makrosäkerhet… →
Säkerhetsnivå – välj ”Mycket hög”
Klicka sedan på Betrodda källor → Lägg till… → Leta upp mappen där din
fil ligger → OK → OK.
Fungerade programmet slutade fråga vid start

För att se vilka makron som finns i dokumentet, exempelvis om du vill
ändra eller radera dem:
Verktyg → Makron → Ordna makron → LibreOffice BASIC… → Längst ner i
rutan ”Makro från” hittar du ditt dokument. Finns det en ”▸” till
vänster om filnamnet finns det makron. Klicka på den och leta dig
vidare ner i hierarkin, sedan ger sig nog resten självt.
Det finns ett makro som ser ut på följande vis i några av tabellerna
Rem Attribute VBA_ModuleType=VBADocumentModule
Sub Blad1
Rem
End Sub
Har ingen aning vad det gör.
Det jag vet är att det inte finns någon tabell som heter Blad1
Samma Makro finns för Blad3 5 och 7 men "Sub Blad3" osv,

Referenser till andra filer kan du enkelt söka efter, särskilt om du
vet filnamnet. Använd vanliga ”Sök & Ersätt” (Ctrl+h) och var noga med
att välja ”Sök i formler” (som jag dock tror är valt som standard).
Detta val hittar du om du klickar ”Fler alternativ”, nästan längst ner
i dialogrutan. Sök efter filnamnet. Klickar du ”Sök alla” markeras
alla celler som innehåller ditt filnamn. Tror du får göra om sökningen
för varje blad.
Det verkar vara en "flik referens" som spökar!

Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ
Björn M skrev 2012-09-14 20:20:
Utan att vara expert på calc undrar jag om du inte bara kan ta det som är
relevant och kopiera över det till ett nytt friskt dokument.
Filer som man arbetar kontinuerlig med brukar ha en förmåga att bli
korrupta förr eller senare.

Om det inte går kanske du kan konvertera filen till något annat format
(xls?) och sedan importera det tillbaka till LibO och på det sättet rensa
bort skräp som inte behövs. Det beror förstås på vilka funktioner du
använder, om det håller genom en import/export.

/Björn

----------------------------
Björn M
bjorn@verklighet.nu <mailto:bjorn@verklighet.nu>




14 sep 2012 kl. 20:12 skrev Jan Öhman:

Hej!
Har ett kalkylark som följt med många år i många versioner.
(i början Excel 2000, senare OpenOffice och nu LibreOffice)

En sak som har uppstått i senaste konverteringen är att det kommer upp en
massa meddelanden.
Första meddelandet är en information  .:
"Dokumentet innehåller makron.
Körningen av makron har inaktiverats med hjälp av de aktuella
säkerhetsinställningarna för makron i Verktyg - Alternativ - LibreOffice
-Säkerhet.
Därför kanske inte alla fnktioner är tillgängliga. (OK)"
Komer inte ihåg, men tror inte att jag har använt något makro i
dokumentet.
(kanske någon gång för att testa något)
Går det att ta reda på vilket / vilka makron som dokumentet innehåller?


Nästa "skylt" som kommer upp säger .:
Den här filen innehåller länkar till andra filer.
Skall de uppdateras? (Ja / NEJ)

Väljer jag "Ja" Kommer ett meddelande .:
"Den följande externa filen kunde inte öppnas. Data länkad från den här
filen uppdaterades inte. (OK)"
Sedan ett filnamn som kanske funnits en gång men inte är aktuell.
Går det att ta bort denna inaktuella länk - Förmodligen ett test vid
något tillfälle.
(jag vet inte var den finns).

Jag kan leva med dessa meddelanden, men det som stör mig är att
kalkylarket går så otroligt långsamt och segt.
ändras en siffra tar det 5-10sekunder innan ändringen syns.
(processorn går upp till 100% under tiden - I OpenOffice versionen skedde
ändringarna direkt)


//Jan

--
For unsubscribe instructions e-mail to: users+help@sv.libreoffice.org
<mailto:users+help@sv.libreoffice.org>

Problems?
http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/sv/users/
All messages sent to this list will be publicly archived and cannot be
deleted


--
For unsubscribe instructions e-mail to: users+help@sv.libreoffice.org
Problems?
http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/sv/users/
All messages sent to this list will be publicly archived and cannot be
deleted



--
For unsubscribe instructions e-mail to: users+help@sv.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/sv/users/
All messages sent to this list will be publicly archived and cannot be deleted

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.