-
Innehållsantal
185 -
Gick med
-
Dagar vunna
20
Inlägg postade av MH_
-
-
har du kollat makrot drygt halvvägs ner på den här sidan (How to batch convert doc to docx😞
https://www.pdnob.com/document/doc-to-docx.html
Jag har inte testat. Men det ser rätt ut.
Tyvärr en bild istället för kod så du får bygga lite manuellt.
Kan vara värt att testa i alla fall
(Och jag antar att Fileformat skall bytast ut mot SaveFormat?)
***********ed*********
och här har finns koden i textformat.
https://www.datanumen.com/blogs/3-quick-ways-to-batch-convert-word-doc-to-docx-files-and-vice-versa/
********************
- 1
-
Du måste använda 2 celler (vet inte om jag missförstod frågan).
I cell A1 skriver du in din summering
=7+10+20
I någon annan cell skriver du
=A1/ANTALV(DELATEXT(FORMELTEXT(A1);"+"))
FORMELTEXT() kom med excel 2019 och DELATEXT() kräver excel 365.
Det går inte att göra det du vill utan FORMELTEXT(). Men du kan räkna antal "+" tecken (+1) med äldre metoder:
=A1/(LÄNGD(FORMELTEXT(A1))-LÄNGD(BYT.UT(FORMELTEXT(A1);"+";""))+1)
- 1
-
Word-VBA är förvirrande...
-
I word får du tydligen tag i dokumentets filformat genom "SaveFormat" (när man tänker efter är "wdsaveformat" en ganska tydlig ledtråd...)
iX = ActiveDocument.SaveFormatEgentligen ganska logiskt att hämta ut egenskapen på det sättet, även om jag tycker att Excels variant är snällare mot hjärnan. Alla dokumentegenskaper man inte viste att man behövde:
https://learn.microsoft.com/sv-se/office/vba/api/word.document#properties
-
Har inte testat själv. men du kan väl kolla det här?
https://learn.microsoft.com/sv-se/office/vba/api/excel.workbook.fileformat
Konstanter:
https://learn.microsoft.com/en-us/office/vba/api/excel.xlfileformat
Vill du ha ett "vanligt" modernt excelformat så är du är alltså ute efter: xlOpenXMLWorkbook 51
Så i microsoftexemplet bör "save as" raden ändras till
ActiveWorkbook.SaveAs fileFormat:=xlOpenXMLWorkbook
Och om du kollar konstant-sidan så är det en massa format som har ändelsen .XLS (16,27,29,33,39,39,56,43,-4143). Så för "IF-raden" måste du kolla hela gänget
Sub PutinSugerOtvättadBjörnK() Dim iX As Integer iX = ActiveWorkbook.FileFormat If (iX = 16) Or (iX = 27) Or (iX = 29) Or (iX = 33) Or (iX = 39) Or (iX = 39) Or (iX = 56) Or (iX = 43) Or (iX = -4143) Then ActiveWorkbook.SaveAs FileFormat:=xlOpenXMLWorkbook End If End Sub
Man borde kunna kolla filändelsen med "ActiveWorkbook.Name". Men Om du har dolt filändelser i utforskaren så skall VBA tydligen respektera det (av någon fullständigt obegriplig anledning).
- 1
-
Först måste du plocka ut själva formeltexten (annars förutsätter Excel att du vill jobba med värdet av beräkningen i A1)
=FORMELTEXT(A1)
Om vi tar bort "=" tecknet så får vi något trevligt att jobba med. Det kan du exempelvis åstadkomma genom att byta ut "=" mot ingenting "".
=BYT.UT(FORMELTEXT(A1);"=";"")
Sen delat du din text med "+" som skiljetecken (de hamnar i olika celler)
=DELATEXT(BYT.UT(FORMELTEXT(A1);"=";"");"+")
se till att texten tolkas som siffror genom att muliplicera med 1:
=DELATEXT(BYT.UT(FORMELTEXT(A1);"=";"");"+")*1
Sen beräknar du medelvärdet på de utplockade siffrorna (hamnar i en cell)
=MEDEL(DELATEXT(BYT.UT(FORMELTEXT(A1);"=";"");"+")*1)
************************************************************
Eller räkna hur många delar det blir när man delar vid "+" tecknet:
=ANTALV(DELATEXT(FORMELTEXT(A1);"+"))
och räkna ut medlet genom att dividera summan med den siffran
=A1/ANTALV(DELATEXT(FORMELTEXT(A1);"+"))
Lite kortare, men jag tycker personligen bättre om föregående metod. Välj det du tror att du förstår enklast om 6 månader när du försöker lista ut vad tusan du gjorde (och använd Granska->anteckningar: ofta och mycket.).
- 1
-
I dina exempel så har du uttag/månad och ränta per månad. Så dina perioder är=månader
Då är det bara att dela månaderna med 12 så får du ut det värde du vill.
4 år och 8 månader = 4*12+8=56 månader
56/12=4,66666666...
Så det här borde göra det du vill:
=C16/12
eller om du vill snobba till det:
=OMFEL(C16/12;"Oändlig utbetalning")
Det är alltid svårt att nollställa hjärnan och ta den enklaste lösningen när man har hållit på att krånglat till det innan 🙂
- 1
-
" aldrig kommer betala tillbaka den helt och hållet"
Ja, eller: du kommer aldrig att minska skulden över huvud taget. 100% av dina inbetalningar går till räntan och inget till amortering. Så skulden öka eller blir densamma, den minskar aldrig.
Men om inbetalningarna bara är liiiiiiite större än den första räntebetalningen så kommer skulden att amorteras av, även om det går extremt långsamt i början.
- 1
-
Du har nog hittat gränsen för när dina inbetalningar är för små jämfört med räntan. Dvs skulden minskar aldrig, eller växer, och du kommer aldrig att ha betalt tillbaks (perioder blir oändliga).
Du kan kolla vad den första räntan blir:
(18 000 000)*(7%/12)=105 000
Om du ändrar dina inbetalningar i cellen F13 till
105 001
så minskar du Skulden med en krona den första månaden och det tar "bara" 166 år att betala av skulden. Men om du betalar 105 000:-/ månad så kommer skulden aldrig att minska och du får betala i all oändlighet. Och betalar du mindre än 105 000 så växer dessutom skulden utan att någonsin betalas av.Testa att ändra F13 till 105 000 så ser du att det inte går att räkna ut en återbetalningstid igen
Du kan skapa ett felmeddelande av lämpligt slag
=OMFEL(HELTAL(F16/12)&" år och "&AVRUNDA(REST(F16;12);0)&" månader ";"All your base are belong to us")
- 2
-
Är F16 antal månader?
Hursomhelst. Formeln du visar klarar av hur många månader som helst. Så ditt problem måste ligga i formeln som finns i cell F16. Det är inte möjligt att hjälpa dig med den information du givit.
-
Det här kanske är välkänt. Men jag har missat den här översättningen:
close but no cigar
Var är @ mbgtmari när Microsoft behöver henne 😁
(autostartande mappar när det har blivit knas
- 4
-
Dina datum är Vänsterställda. Det brukar betyda att datumen står som text i din databas (öka bredden på kolumn och kolla om det bir vänster- eller högerställda).
För att konvertera dina rådata:
Markera din "deadline" kolumn och gå till
Data->dataverktyg->Text till kolumner
[Nästa>]->[Nästa>]
Ändra till datum: ÅMD och tryck Slutför
Ändra visningsformat om det behövs.
uppdatera din pivottabell
Om du fortfarande inte får några "skapade hjälpalternativ" så kan du högerklicka på ett av datumen i deadline (i pivottabellen) och välja "gruppera" för att skapa grupepringsvariabler.
-
Om din källfil alltid heter samma sak kan du göra en pivot med källdata i en annan fil:
Öppna både källdata- och målfil.
Ställ dig i målfilen och gå till
Infoga->pivottabell
I tabell/område markerar du hela kolumnerna i din källdatafil, och "plats" (för pivottabellen) skall ditt målblad anges. Typ:
Fixa i ordning din pivot så att datum osv blir rätt.
När du stänger filerna kommer sökvägarna att peka till din externa källdatafil och du kan uppdatera med högerklick.
ÅR/Månad
Om du t.ex har en variabel som heter datum och släpar den till "rader" så kommer excel att skapa en massa virtuella hjälpvariabler (år, kvartal osv)
Tag bort Kvartal och datum från "rader" så borde det bli år och månad precis som du vill.
Du har även möljighet att expandera och ha sig i pivoten (med + och -)
-
Jag har ingen aning/åsikt om appen. Men lite allmänt svammel:
Excel har minst 3 skriftspråk så du måste nog börja med att fundera på vad du vill.
VBA är det kraftfullaste. Men det är omgivet av så många säkerhetsspärrar att det är svårt att sprida till andra. Och det "känns" som om Microsoft har nått vägs ände.
M. (Eller heter det .M?) är språket du använder till powerquery. Väldigt kraftfullt för att knåda data. Men specialiserat och kanske lite udda (används eventuellt till BI också).
Sen har du det "nya" generella språket till "office automate". Det är nog det du har mest nytta av att kunna framöver. Även om händelsehanteringen inom Excel verkar vara kraftigt begränsad så kan du skapa en massa triggers på officenivå. I alla fall om du ligger på one-drive.
Den stora fördelen är att det är en java-scripts variant så du kan ha lite nytta av tänket utanför office.
Sen tror jag att det är på gång ett slags pyton-tillägg också. Men det verkar vara till för att skapa formler på kalkylbladet. Om det någonsin kommer i skarp version.
Så, klura på vad det är du vill lära sig.
-
Hej
Normalt sett dubbelklickar du bara på axeln så får du upp alla alternativ. Längst ner på "alternativ för axel" har du t.ex talformatet
Vinklingen verkar däremot inte skötas via det här fönstret längre. Det dat du istället via den vanliga menyn. markerar din axel och gå till:
Start->Justering->
Annars. Microsofts instruktioner
-
Såg nu att du redan använder VBA.
Högerklicka på din kryssruta och peta in en kod i stil med:
Private Sub CheckBox1_Change() If CheckBox1.Value = True Then ActiveSheet.ListObjects("Tabell3").Range.AutoFilter Field:=4, Criteria1:="1" ElseIf CheckBox1.Value = False Then ActiveSheet.ListObjects("Tabell3").Range.AutoFilter Field:=4 End If End Sub
Fast med rätt namn på Checkbox och tabell. Samt rätt field-nummer.
Den här koden kommer att ligga under det aktuella Bladet, inte under en modul (när du är i VBA-editorn: Visa-> projektutforskaren Ctrl+R).
Det är en händelsehanterare vilket kan ge stora problem. Men det borde inte vara några problem när det är "CheckBox_Change" du bevakar.
-
Om jag förstår din fråga rätt så behöver du inte VBA. Testa utsnitt istället.
Ställ dig i din tabell, tryck sedan på (Om du inte ser "tabelldesign" så får du trycka Ctrl+T för att omvandla det till en "riktig" exceltabell)
Tabelldesign->Verktyg->infoga utsnitt.
Välj de kolumner du vill ha filter för.
När du trycker [OK] så får du fram ett "utsnitt" för varje kolumn och kan filtrera som du vill. Det borde vara precis vad du behöver
Eftersom du bara har Ja/Nej så ser du inte att de är ihopkopplade. Men om du hade haft fler alternativ i någon av kolumnerna så skulle du se att alla alternativ som redan filtrerats bort blir grå. Rätt snyggt.
-
Tänk på att Outlook i telefonen (Andoid i alla fall) har två "flikar". En med prioriterad post och en med övrigt (syns som två knappar högst upp i inkorgen). Jag har inte motsvarigheten i datorn (där har jag Alla/Oläst istället).
- 3
-
En tom textsträng.
=OM(A1>0;"";"inte större än noll")
Om formeln står i cell B1 så kan du använda
=OM(B1="";"är tom";"är inte Tom"
Eller felvärdet SAKNAS(). Funkar bättre för vissa typer av diagram
=OM(A1>0;SAKNAS();"inte större än noll")
Ingen av formlerna ger "Sant" om du testar med
=ÄRTOM(B1)
Och den här ger inte heller t (även om det blir olika svar beroende på om du använder "" eller SAKNAS())
=CELL("typ";B1)
Och du lär aldrig få cellen att se helt tom ut eftersom det står en formel i cellen.
Du kan testa B1 Med saker i stil med:
=(B1="")
=ÄRSAKNAD(B1)
-
- Detta är ett populärt inlägg.
- Detta är ett populärt inlägg.
-
Kolla harkrank inlägg i den här tråden
Om året står i A1 och veckoNR står i B1 så ger det här måndagen
=DATUM(A1;1;B1*7)-VECKODAG(DATUM(A1;1;3))-2
Och söndagen:
=DATUM(A1;1;B1*7)-VECKODAG(DATUM(A1;1;3))-2+6
=DATUM(A1;1;B1*7)-VECKODAG(DATUM(A1;1;3))+4
Den skiter sig om du kör vecka 53 när det inte finns (blir året efter)
Du kan naturligtvis krångla till det om du har lust...
=OM(B1=ISOVECKONR(DATUM(A1;1;B1*7-2)-VECKODAG(DATUM(A1;1;3)));DATUM(A1;1;B1*7-2)-VECKODAG(DATUM(A1;1;3));"veckan finns inte det valda året ")
- 1
-
Dela upp det i två delar och hämta kolumn A respektive kolumn D separat.
I fördjupning, A2 skriver du något i stil med:
=FILTER(Grund!A:A;(Grund!B:B="kritisk")*(Grund!D:D="kritisk"))
Och i fördjupning, D2 skriver du något i stil med:
=FILTER(Grund!C:C;(Grund!B:B="kritisk")*(Grund!D:D="kritisk"))
- 1
- 1
-
=VÄLJKOL(FILTER(Grund!A:C;(Grund!B:B="kritisk")*(Grund!D:D="kritisk"));1;3)
**************
Där villkoret är:
(Grund!B:B="kritisk")*(Grund!D:D="kritisk")
Om man skriver ett villkor i en parantes så blir det SANT/FALSKT, som excel även tolkar som 0/1. Så om du multiplicerar parenteserna så måste båda vara sanna för att summan skall bli 1 (sant)
Petar du in villkoret i en "FILTER" så får du de rader (kolumn A:C) som uppfyller villkoret
=FILTER(Grund!A:C;(Grund!B:B="kritisk")*(Grund!D:D="kritisk"))
Sen använder du VÄLJKOL() för att plocka ut kolumn 1 och 3 (A och C)
=VÄLJKOL(FILTER(Grund!A:C;(Grund!B:B="kritisk")*(Grund!D:D="kritisk"));1;3)
*****************
MEN!! det här betyder inte att data är kopierat. Data visas bara så länge "kritiskt" står kvar i fliken Grund
https://support.microsoft.com/sv-se/office/funktionen-filter-f4f7cb66-82eb-4767-8f7c-4877ad80c759
https://support.microsoft.com/sv-se/office/funktionen-väljkol-bf117976-2722-4466-9b9a-1c01ed9aebff
-
Om du kan kosta på dig två rader så kan du byta teckentabell för i kommandotolken (inkl. din "pipade" output). Då borde ÅÄÖ bli som du vill.
CHCP 65001 dir *.pdf /s /b > "filelist.txt"
Changes code page
https://learn.microsoft.com/sv-se/windows-server/administration/windows-commands/chcp
Och här hittar du koden till UTF-8 (65001)
https://learn.microsoft.com/sv-se/windows/win32/intl/code-page-identifiers
Makro för att spara som .xlsx .docx
i Microsoft Office / Microsoft 365 Apps (Word, Excel och Outlook med flera)
Postad · Redigerad av MH_