Mikael63 Postad April 17 Författare Dela Postad April 17 Nya funderingar... Om jag vill söka efter ABCDE FGHIJK och ersätta med ABCDE[inte mellanslag][radbryt]FGHIJK? Vad ska jag skriva in i dialogen "ersätt med" då? Eller! Detta är en engångsgrej, fast i 28 filer, och det är en(1) fast text och således känt antal tecken. Dock inte kända celler. ÖLFLEX® SERVO 2XSLCH-JB 3xarea+3Garea ska bli ÖLFLEX® SERVO 2XSLCH-JB 3xarea+3Garea Citera Länk till kommentar Dela på andra webbplatser Fler delningsalternativ...
MH_ Postad April 18 Dela Postad April 18 Excel kan söka med jokertecken. Men så vitt jag vet kan du inte föra över det till ersätt med. Word har "mönstermatchning" som är en en variant av "Regular Expression" (På svenska heter det något annat än mönstermatchning utanför Microsoft, men det är blankt i skallen) https://support.microsoft.com/sv-se/topic/exempel-på-jokertecken-939e153f-bd30-47e4-a763-61897c87b3f4 Då kan du bygga delar där varje parantes är ett uttryck. T.ex (börja med 23 valfria tecken) (mellanslag) (13 valfria tecken) (<?{23})( )(?{13}) och sedan ersätter du med Sökuttryck1, radbrytning, Sökuttryck3 \1^l\3 ***************************** Ok, det var Word...************ Det finns tillägg som ger excel RegEx. Men det känns jobbigt.... Kolla här t.ex: https://stackoverflow.com/questions/22542834/how-to-use-regular-expressions-regex-in-microsoft-excel-both-in-cell-and-loops https://www.youtube.com/watch?v=OS7BPjTy3H0 1 Citera Länk till kommentar Dela på andra webbplatser Fler delningsalternativ...
Mikael63 Postad April 18 Författare Dela Postad April 18 1 timme sedan, MH_ sade: Men det känns jobbigt Okej, jag har ju en mjukvara och som fungerar... ... men den stökar till det med utskriftsområde mm varför jag försöker undvika den. Citera Länk till kommentar Dela på andra webbplatser Fler delningsalternativ...
MH_ Postad April 18 Dela Postad April 18 Kolla Youtuben från 8:08 ungefär https://youtu.be/OS7BPjTy3H0?t=487 I VBA-editorn Verktyg->referenser Bläddra ner till, och välj, MicrosoftVBscriptRegularexp... Sen kan du använda regexp för att se om cellen passar mönstret. Tyvärr blir jag inte klok på hur du bygger delar som i word om du skulle vilja köra replace. Men du kan använda vanliga vänster/extext och helt enkelt byta ut det 24:e tecknet mot en radbrytning (chr(10) - jag kommer inte ihåg om en radbrytning har koden 10 eller 13, testa) Sub MönsterMatch() ' hämtar regexp till ett eget objekt regex (eller vad det heter, se Youtuben) Dim regEx As New regexp regEx.Global = True Dim rCell As Range ' Sökmönstret = radstart (^), 23 tecken, mellanslag, 13 tecken, radslut ($) ' i engelsk regexp så avänds "." istället för "?" för att ange "vilket tecken som helst" regEx.Pattern = "^.{23} .{13}$" ' gå igenom alla celler i det markerade området For Each rCell In Selection.Cells ' OM cellen passar mönstret så hämtar du de vänstraste 23 tecknen, skriver en radbrytning och hämtar tecken 25+13 If regEx.Test(rCell.Value) = True Then sOld = rCell.Value rCell.Value = Left(sOld, 23) & Chr(10) & Mid(sOld, 25, 13) End If Next rCell End Sub Du får anpassa mönstret 23 mellanslag 13 så att det passar det du faktiskt har. Om du vet att det alltids skall starta/sluta på samma sätt så kan du göra sökningen säkrare gemom att ändra söksträngen. 1 Citera Länk till kommentar Dela på andra webbplatser Fler delningsalternativ...
Mikael63 Postad April 18 Författare Dela Postad April 18 Om man i boken man kör makrot från gör i ordning en cell med resultatet av ersättningen, med texten radbruten kopierar den cellen till urklipp, startar skriptet och skriver in söksträngen.. och i nästa dialog klistrar in från urklipp.. samt där tar bort " i början och " i slutet och OK,ejar så blir resultatet som önskat. Det fungerar inte att använda Ctrl+J som beskrivs här: https://www.ablebits.com/office-addins-blog/start-new-line-excel-cell/ Då tas endast mellanslag bort. (i vanlig sök & ersätt fungerar det enligt länken men inte i dialogrutorna i makrot) Man kan även använda en urklippshanterare som ex. den utmärkta M8 Free Clipboard men " " måste bort. Citera Länk till kommentar Dela på andra webbplatser Fler delningsalternativ...
Recommended Posts
Delta i dialogen
Du kan skriva svaret nu och registrera dig senare, Om du har ett konto, logga in nu för att svara på inlägget.