Gå till innehåll

MH_

Medlem
  • Innehållsantal

    180
  • Gick med

  • Dagar vunna

    20

Allt postat av MH_

  1. Jag lyckas aldrig logga in igen när jag har loggat ut från forumet. Blir tvungen att köra "glömt lösenord" och skapa ett nytt lösenord varje gång jag har loggat ut. Är det någon som har en aning om vad jag gör för fel? När jag väl är inloggad verkar det extra lösenordet på "kontosäkerhet" funka så det borde inte vara totaldemens (Opera, privat läge).
  2. Såg att jag missat en detalj om det redan har bytts till det, byts ut till ingenting, Om det inte finns mer än ett "_" så är det väl enklast att vända på makrot och börja med att byta ut det sista tecknet till "" (reverse) så är du färdig med den delen. För formlerna blir det krångligare dey blir svårt om det saknas fler "_" än det första. Hmmm Du skulle kanske kunna göra något smart med hjälp av =OMFEL(SÖK("€";BYT.UT(A12;"_";"€";SEKVENS(10)));"") som ger en matris med positionen för alla "_" den här formeln som hittar det sista förekomsten av "_" =MAX(OMFEL(SÖK("€";BYT.UT(A12;"_";"€";SEKVENS(10)));"")) Men du måste nog krångla till det oavsett. VBA-Makrot låter enklare
  3. https://docs.microsoft.com/en-us/office/vba/api/excel.range.areas Kan användas för att växla mellan områdena Selection.Areas(1) Selection.Areas(2) Då borde du kunna skapa en tabbseparerad textvariabel som du sen kan spara undan eller pipa till en text-fil Sub tjo() Dim str As String Dim i As Integer If Selection.Areas(1).Cells.Count <> Selection.Areas(2).Cells.Count Then MsgBox "falektig markering, gör om, gör rätt" Exit Sub End If For i = 1 To Selection.Areas(1).Cells.Count str = str & Selection.Areas(1).Cells(i, 1).Value str = str & vbTab str = str & Selection.Areas(2).Cells(i, 1).Value str = str & vbCrLf Next i MsgBox str 'Open "C:\tmp\Tjoho.txt" For Output As #1 End Sub Jag surnade till och raderade min profil på det andra forumet så jag hittar inte gamla inlägg. Men visst hade vi en tråd där du fick en en sån där "Open for Output" att fungera? Behövs det inte en End of file t.ex... Här är en tråd du borde kunna sno låna ifrån https://stackoverflow.com/questions/43655288/vba-code-to-save-excel-sheet-as-tab-delimited-text-file
  4. Formel. Om du VET att det alltid är det 3:e "-" som skall bytas ut kan du lägga på en byt.ut till =BYT.UT(BYT.UT(BYT.UT(A12;"_";"-");"-";"_";1);"-";"";3) Förklaringstexten till BYT.UT är lite förvirrande. "antal förekomster" skall nog vara "Förekomst NR". Dvs 3:ean betyder att den tredje förekomsten byts ut, inte de tre första Annars får du räkna ut hur många gånger det förekommer =LÄNGD(A12)-LÄNGD(BYT.UT(A12;"_";""))-1 och klämma in där 3:an står =BYT.UT(BYT.UT(BYT.UT(A12;"_";"-");"-";"_";1);"-";"";LÄNGD(A12)-LÄNGD(BYT.UT(A12;"_";""))-1) VBA har mönstermatchning/regular expression. Då går det att trixa hur man vill (om du ändå skall köra makro). hhttps://software-solutions-online.com/vba-regex-guide/ https://regexr.com/3hmb6 Men då måste kryssa i att VBA skall använde RegExp osv Du kan även använda VBAs egna sök/ersätt och utnyttja att det finns en inverteringsfunktion i VBA StrReverse Sub tjo() Dim mintext As String Dim sistaStreck As Integer mintext = Selection.Value 'byt ut alla "_" mot "-" mintext = Replace(mintext, "_", "-") 'byt tillbasks det första "-" mot "_" mintext = Replace(mintext, "-", "_", , Count:=1) 'Och byt tillbaks det sista "-" mot "" genom att vända på strängen och byta ut första förekomsten mintext = Replace(StrReverse(mintext), "-", "", , Count:=1) ' och vänd tillbaks texten mintext = StrReverse(mintext) End Sub eller utnyttja att VBA kan söka både framifrån och bakifrån InStrRev function (Visual Basic for Applications) | Microsoft Docs och göra något smart som jag inte kommer på... För övrigt funkar inte notifiering hos mig. Jag fick bara notis om att du hade Messat.
  5. Om du vet att de 16 första tecknen skall lämnas oförändrade så kan du ju dela upp det i två delar: =VÄNSTER(A12;16)&BYT.UT(EXTEXT(A12;17;LÄNGD(A12));"_";"-") Men din lösning är mycket elegantare =BYT.UT(BYT.UT(A12;"_";"-");"-";"_";1) Hmm, vad kan jag ha kryssat i fel? jag trodde att jag bevakade Office-tråden här, skumt
×
×
  • Skapa nytt...