FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Mycket flitig postare
|
Sitter och pillar lite på ett program som ska underlätta lite när man skriver ut adressfiler.
Jag har en excel-fil med olika fält, ink. postnummer. Det jag skulle vilja göra är att på den sista raden för varje unikt postnummer, ändra fältet och lägga till en stjärna. Så exempelvis: Citat:
![]() Har inte mycket erfarenhet inom Excel. Jag antar(?) att jag måste göra detta i utvecklingsmiljö som C#, att exempelvis läsa in alla värden, modifiera för att sedan generera en ny Excel-fil. Tänker jag knasigt eller är detta the way to go? |
|||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Flitig postare
|
Du kan annars skriva ett macro i excel som du exekverar på din data, så slipper du gå vägen via .net.
|
|||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Mycket flitig postare
|
Japp, läser på om det nu faktiskt, dock verkar jag inte kunna hitta någon hjälp, det jag vill åstakomma verkar inte vara så populärt
![]() Någon som är mer hemma på Excel får gärna hjälpa till |
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Har WN som tidsfördriv
|
Använd en if-sats, kolla om nästkommande skiljer sig, sätt i så fall en stjärna. Sen kan du slå ihop kolumner, alt. Sammanfoga text med stjärna.
Googla if och excel (eller OM och excel om du kör svenska) |
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Medlem
|
Två sätt, finns kanske fler bra eller bättre.
FÖRSTA SÄTTET är att använda sig av villkorsstyrd formatering -1- Välj Arkiv - Alternativ - Formler. Sätt i bock för R1C1-referenser .. OK -2- Markera dina postnummer -3- I fliken start (den man vanligtvis finns i) väljer du 'Villkorsstyrd formatering' Välj 'Hantera regler' lägst ner I dialogrutan väljer du 'Ny regel' I Välj regeltyp väljer du 'Bestäm vilka celler som ska formateras genom att använda en formel' I fältet under 'Formatera värden där den här formeln är sann:' skriver du =om(RC<>R[+1]C;1;0) Klicka på 'format' - välj 'Anpassat' och där det nu står 'Standard' skriver du istället 00000\* Du kan även välja att skriva 000\ 00\* och så OK OK OK Om du valde format 000\ 00\* så välj Crtl+1 och välj Tal - Kategori - Postnummer så blir postnumrens utseende som vi brukar se dem (Svenska postnr) -4- Kan se lite konstigt ut med justeringen. Du kan t ex vänsterjustera hela kolumnen. Går att lösa så att du får lämplig stor 'padding' till vänster. Hör av dig om det är aktuellt -5- Nu kan du ta bort bocken som du satte i enligt punkt 1 ANDRA SÄTTET är att infoga en kolumn till höger som dina postnr och sätta * där. -1- Välj Arkiv - Alternativ - Formler. Sätt i bock för R1C1-referenser .. OK -2- Infoga en kolumn till höger om postnummerkolumnen -3- Skriv formeln =OM(RC[-1]<>R[1]C[-1];"*";"") i den infogade kolumnen. På alla rader där det finns postnr. -4- Nu kan du ta bort bocken som du satte i enligt punkt 1 Klart! Anledningen till att göra detta Välj Arkiv - Alternativ - Formler. Sätt i bock för R1C1-referenser .. OK är att jag inte vet var dina postnr finns i ditt kalkylblad och alltså inte kan skriva rätt formler då. Lycka till! Hör av gärna av dig om det fungerade som du ville. Senast redigerad av aelander den 2013-02-04 klockan 00:27 |
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
Det är ett ganska enkelt problem i Excel:
Om du har dina värden i kolumnen A med början på rad 6 så kan du lägga in följande formel i CELL B6 =OM(A6=A7;A6;SAMMANFOGA(A6;"*")) Sen kopierar du den formeln neråt så ska du få precis vad jag tror du vill ha. Du har dock en bugg i din specifikation på rad 4, somjag tror du skrivit fel för där får jag en asterisk men det har du inte med i ditt krav. |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Mycket flitig postare
|
Väl förklarat aelander!
Conny, jag förstår inte hur du menar. Måste jag köra den formeln på alla rader, eller? Jag har iaf gjort en lösning i C#, som läser av alla rader, hittar samband (x,y != x,y+1) och sätter en stjärna. Ska finslipa lite och göra lite mer automatik så ska vi se hur det blir. Kan slänga upp det här också. Tanken är att detta ska spara tid, då det ska användas 15-20 gånger per dag, i stora Excel-filer. |
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Klarade millennium-buggen
|
Här kommer ett VBA-Makro som du kan lägga in i din VBA-modul om du hellre föredrar det sättet:
Första parametern motsvarar cell A6 och andra parametern motsvarar cell A7 och tredje parametern är valfri sträng m du vill visa i slutet av postnummret. Jag har lagt upp detta som strängvärden men det funkar lika bra om du använder talvärden enligt mina preliminära tester. Kod:
function AddCharAtEnd(FirstValue as String, CompareToValue as String, StringToAdd as String) as string if (FirstValue<>CompareToValue) then AddCharAtEnd = FirstValue & StringToAdd else AddCharAtEnd = FirstValue endif end function Anropet till makrot i cell B6 kommer att se ut så här: Kod:
=AddCharAtEnd(A6;A7;"*") Senast redigerad av Conny Westh den 2013-02-04 klockan 01:44 |
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Klarade millennium-buggen
|
Citat:
I mina exempel så har jag förutsatt att du börjar med att lägga in dina postnr i cell A6 och sedan går neråt till A7, A8 osv... Både min första formel och min andra formel kan du lägga i B6 och sedan kopiera den neråt så kommer referenserna till A6 och A7 att justeras så de blir rätt. Då får du en stjärna i den sista förekomsten av varje postnr i kolumnen B, men kolumn A är oförändrad. Senast redigerad av Conny Westh den 2013-02-04 klockan 01:48 |
||
![]() |
![]() |
![]() |
#10 | |||
|
||||
Mycket flitig postare
|
Kanske jag som är lite trög när det kommer till Excel, men med din kod Conny så måste man skriva in fälten manuellt, och dessutom köra den flera gånger? Tanken är ju somsagt att spara tid, att snabbt köra ett skript som modifierar kolumnerna för att spara och skicka till produktion. Inga extra fält ska läggas till, utan dessa Excel skickas sedan till maskin för att bli utskrivna som adresser, sådana som sätts på reklam osv. Olika brevbärare har olika postnummer, så därför brukar man lägga dessa i olika buntar, och markera den sista med stjärnor så den som packar in detta i lådor innan det når Posten gör det till separata buntar.
|
|||
![]() |
![]() |
Svara |
|
|