kjaa Skrevet 29. juli 2010 Del Skrevet 29. juli 2010 Hei. Jeg har en post A og B hvor det registreres postnummer i tekstformat. Det er normalt 4 siffre, men det hender at det er fler. Problem: Jeg skal finne og fjerne de postene hvor de 2 første tallene i post A er lik de 2 første tallene i post B, men bare hvis det er 4 tall i postene. A B 0668 0668 Fjernes 1400 1440 Fjernes 1520 1600 1210 1200 Fjernes 2920 3240 8530 8530E Skal ikke fjernes Takker for alle forslag til løsning. Lenke til kommentar
Harald Staff Skrevet 29. juli 2010 Del Skrevet 29. juli 2010 Står tilhørende poster på samme rad? Eller kan du ha 0668 0368 1400 1440 Fjernes 1520 0608 match med rad 1 ? Lenke til kommentar
kjaa Skrevet 30. juli 2010 Forfatter Del Skrevet 30. juli 2010 Står tilhørende poster på samme rad? Eller kan du ha 0668 0368 1400 1440 Fjernes 1520 0608 match med rad 1 ? Hei. De som skal fjernes står på samme rad. I tillegg ønsker jeg å fjerne alle oslo postnr som er på rad, fra 0000 til 1299. Eks: 0101 - 1299 fjernes. Lenke til kommentar
Harald Staff Skrevet 30. juli 2010 Del Skrevet 30. juli 2010 Altså hvis det står noe lavere enn 1300 i A? Eller i B? Eller bare i både A og B? Vil du ha en formel som merker raden "Fjernes" i C, eller vil du ha en makro som faktisk fjerner greiene? Mener ikke å være byråkratisk, dette er veldig enkelt. Men jeg trenger mer info for å gi deg noe brukbart. Hva skal det brukes til og når er også kjekt å vite. Beste hilsen Harald Lenke til kommentar
kjaa Skrevet 30. juli 2010 Forfatter Del Skrevet 30. juli 2010 Altså hvis det står noe lavere enn 1300 i A? Eller i B? Eller bare i både A og B? Vil du ha en formel som merker raden "Fjernes" i C, eller vil du ha en makro som faktisk fjerner greiene? Mener ikke å være byråkratisk, dette er veldig enkelt. Men jeg trenger mer info for å gi deg noe brukbart. Hva skal det brukes til og når er også kjekt å vite. Beste hilsen Harald Hei. Hvis det står 1300 i A og 1300 i B , skal posten fjernes. Det samme om det står 1300 i A og 1350 i B fordi de 2 første tegn i A og B er like. Når det gjelder Oslo nr skal alle fjernes eks 0102 i A og 1250 i B fjernes. Vi bruker oslo nr fra 0000 til 1299. Formel eller makro? Ja takk begge deler om mulig så får jeg prøve ut det som passer best. Jeg gjør dette manuelt på jobben hver dag og det er tidkrevende i de tillfeller som det er mange hundre rader. Sender deg en excel fil. Hm får ikke lastet opp??? Takk for all hjelp så langt. Lenke til kommentar
Harald Staff Skrevet 30. juli 2010 Del Skrevet 30. juli 2010 Døp den om fra aaaa.xls til aaaa.xls.txt så får du lastet opp. Lenke til kommentar
kjaa Skrevet 30. juli 2010 Forfatter Del Skrevet 30. juli 2010 Døp den om fra aaaa.xls til aaaa.xls.txt så får du lastet opp. Prøver igjen.. routing.txt Lenke til kommentar
Harald Staff Skrevet 31. juli 2010 Del Skrevet 31. juli 2010 (endret) Du svarte ikke på spørsmålet mitt: Hva med de gangene det står 1150 i A og 1850 i B? Hva med de gangene det står 1560 i A og 0830 i B? Edit: Jo unnskyld, det gjorde du i vedlagte eksempel. Her er en makro som gjør jobben for deg: Sub Kill() Dim R As Long Dim L1 As Long, L2 As Long Dim S1 As String, S2 As String Dim KillThis As Boolean Application.ScreenUpdating = False With ActiveSheet For R = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1 KillThis = False L1 = Val(.Cells(R, 1).Value) L2 = Val(.Cells(R, 2).Value) S1 = Trim(.Cells(R, 1).Text) S2 = Trim(.Cells(R, 2).Text) If L1 * L2 > 0 Then If L1 < 1300 And L2 < 1300 Then KillThis = True If L1 \ 100 = L2 \ 100 Then KillThis = True If Len(S1) > 4 Or Len(S2) > 4 Then KillThis = False If KillThis = True Then .Rows( R ).Delete End If Next End With Application.ScreenUpdating = True End Sub Den sletter fra 0001 til 1299, men ikke 0000. Er Excel'en din på engelsk eller norsk? Harald Endret 31. juli 2010 av Harald Staff Lenke til kommentar
kjaa Skrevet 31. juli 2010 Forfatter Del Skrevet 31. juli 2010 Du svarte ikke på spørsmålet mitt: Hva med de gangene det står 1150 i A og 1850 i B? Hva med de gangene det står 1560 i A og 0830 i B? Er Excel'en din på engelsk eller norsk? Harald Hei. Mener jeg svarte på det. 1150 i A og 1850 i B skal ikke fjernes. 1560 i A og 0830 i B skal ikke fjernes. Bruker norsk 2007. Kjetil Lenke til kommentar
Harald Staff Skrevet 31. juli 2010 Del Skrevet 31. juli 2010 Fant det i eksempelfila. Se løsning i redigert svar. Lenke til kommentar
Harald Staff Skrevet 31. juli 2010 Del Skrevet 31. juli 2010 Sorry, en feilkilde til eliminert, bruk denne: Sub Kill() Dim R As Long Dim L1 As Long, L2 As Long Dim S1 As String, S2 As String Dim KillThis As Boolean Application.ScreenUpdating = False With ActiveSheet For R = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1 KillThis = False L1 = Val(.Cells(R, 1).Value) L2 = Val(.Cells(R, 2).Value) S1 = Trim(.Cells(R, 1).Text) S2 = Trim(.Cells(R, 2).Text) If L1 * L2 > 0 Then If L1 < 1300 And L2 < 1300 Then KillThis = True If L1 \ 100 = L2 \ 100 And Abs(L1 - L2) < 100 Then KillThis = True If Len(S1) > 4 Or Len(S2) > 4 Then KillThis = False If KillThis = True Then .Rows®.Delete End If Next End With Application.ScreenUpdating = True End Sub Lenke til kommentar
kjaa Skrevet 31. juli 2010 Forfatter Del Skrevet 31. juli 2010 Fant det i eksempelfila. Se løsning i redigert svar. Supert. Takk for hjelpen. Lenke til kommentar
kjaa Skrevet 31. juli 2010 Forfatter Del Skrevet 31. juli 2010 Sorry, en feilkilde til eliminert, bruk denne: Sub Kill() Dim R As Long Dim L1 As Long, L2 As Long Dim S1 As String, S2 As String Dim KillThis As Boolean Application.ScreenUpdating = False With ActiveSheet For R = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1 KillThis = False L1 = Val(.Cells(R, 1).Value) L2 = Val(.Cells(R, 2).Value) S1 = Trim(.Cells(R, 1).Text) S2 = Trim(.Cells(R, 2).Text) If L1 * L2 > 0 Then If L1 < 1300 And L2 < 1300 Then KillThis = True If L1 \ 100 = L2 \ 100 And Abs(L1 - L2) < 100 Then KillThis = True If Len(S1) > 4 Or Len(S2) > 4 Then KillThis = False If KillThis = True Then .Rows®.Delete End If Next End With Application.ScreenUpdating = True End Sub Jeg trenger litt mer hjelp(stresser) L1, L2- S1,S2 R variablene. Ser ikke hvor de refererer til. Postnr og routing er i tekstformat. Det må de være siden de ofte har siffer som begynner med 0?) Hvis jeg navngir kollone A til postnr og kollone B til Routing. Skal disse erstatte L1 og L2? Kjetil Lenke til kommentar
Harald Staff Skrevet 31. juli 2010 Del Skrevet 31. juli 2010 Nå er jeg usikker på hva du holder på med. Makroen funker, bare sett den inn i en Excelmodul og kjør den. Lenke til kommentar
kjaa Skrevet 31. juli 2010 Forfatter Del Skrevet 31. juli 2010 Nå er jeg usikker på hva du holder på med. Makroen funker, bare sett den inn i en Excelmodul og kjør den. Når jeg kjører den får jeg denne feilmeldinga: Object doesn't support this property or method. Lenke til kommentar
Harald Staff Skrevet 31. juli 2010 Del Skrevet 31. juli 2010 Det skjer noe skit med formatteringen her, det er umulig å poste kode på forumet for tiden. Tipper det er denne linja: .Rows®.Delete den skal være, og var siste jeg prøvde .Rows( R ).Delete altså .Rows parentes R sluttparentes .Delete Lenke til kommentar
kjaa Skrevet 31. juli 2010 Forfatter Del Skrevet 31. juli 2010 Det skjer noe skit med formatteringen her, det er umulig å poste kode på forumet for tiden. Tipper det er denne linja: .Rows®.Delete den skal være, og var siste jeg prøvde .Rows( R ).Delete altså .Rows parentes R sluttparentes .Delete Det stemmer. Virker helt perfekt. Takker og bukker. Lenke til kommentar
Harald Staff Skrevet 31. juli 2010 Del Skrevet 31. juli 2010 Fine greier. Velbekomme. Det er en liten vitenskap å få den festet til en permanent knapp på Excel-båndet, så vi tar ikke det skriftlig. Men si ifra hvis jeg skal lage den til deg. Hvis du vil forske på det selv så er det du trenger her http://www.rondebruin.nl/ribbon.htm Beste hilsen Harald Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå