Avatar billede BIRGER Seniormester
04. juli 2007 - 15:31 Der er 11 kommentarer og
1 løsning

"udrensning" af data i regneark

Jeg får ovf. en masse data i et exel regneark. Jeg skal kun bruge en vis del af dem. Nøglen er et felt som består af initialer altå 3 bogstaver.  Jeg selvfølgelig slette de overskydende manuelt, men kan det gøres automatisk, så jeg kun har de data (efter int.) tilbage som jeg skal bruge??
04. juli 2007 - 16:07 #1
Du kan bruge et avanceret filter til at kopiere de udvalgte data til et andet område, og herefter slette de oprindelige data.

Data->Filter->Avanceret filter
Avatar billede BIRGER Seniormester
04. juli 2007 - 16:09 #2
Det var lidt det jeg ville undgå.....altså en automastisk funktion der gjorde det!
04. juli 2007 - 16:10 #3
Hvad mener du med en automatisk funktion?
04. juli 2007 - 16:13 #4
Det behøver ikke være det avancerede filter - et autofilter kan også klare det.
Marker hele området med data
Vælg Data->Filter->Autofilter
Vælg de ønskede initialer i kolonnen med initialer
Du har nu den liste du ønsker - kopier den evt. til et andet ark, så slettes alle øvrige data
04. juli 2007 - 16:13 #5
Mere "automatisk" bliver det vist ikke!
Avatar billede BIRGER Seniormester
04. juli 2007 - 16:13 #6
en makro evt?  men den skal jo vide hvilke data der skal beholdes!
04. juli 2007 - 16:14 #7
Hvor lang tid tror du det tager at lave en makro - sammenholdt med ovennævnte?
Avatar billede supertekst Ekspert
04. juli 2007 - 22:58 #8
Prøv at sende et uddrag af dit regneark til: pb@supertekst-it.dk
Avatar billede supertekst Ekspert
05. juli 2007 - 12:48 #9
forslag:

Rem Koden indlægges i det ark, hvor filtrering ønskes
Dim InitListe As Variant
Sub starFilter()                                          'VBA begynder her - evt. tilknyttes knap

Rem Liste over initialer, der IKKE skal slettes
Rem ===========================================
    InitListe = Array("AHS", "HCA", "IMP", "JRK", "LNL", "MPR", "OGK", "SGJ")  '<-----Tilpasses
    udførFiltrering
End Sub
Private Sub udførFiltrering()
Dim antalRæk
    antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
   
    For ræk = antalRæk To 2 Step -1
        If Cells(ræk, 1) <> "" Then
            If InitBevares(Cells(ræk, 1)) = False Then
                Rows(ræk).Delete
            End If
        End If
    Next ræk
End Sub
Private Function InitBevares(init)
    For f = 0 To UBound(InitListe)
        If init = InitListe(f) Then
            InitBevares = True
            Exit Function
        End If
    Next f
    InitBevares = False
End Function
Avatar billede jensen363 Forsker
05. juli 2007 - 12:54 #10
Er der tale om at du vil bibeholde "kendte intialer" eller er der tale om, at bare celleindholdet er 3 karakterer, så er det en initial som ikke skal slettes ????
Avatar billede supertekst Ekspert
05. juli 2007 - 14:11 #11
Du får et svar..
Avatar billede BIRGER Seniormester
05. juli 2007 - 15:01 #12
tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester