Avatar billede lalaman2 Nybegynder
04. februar 2010 - 13:57 Der er 7 kommentarer

VBA: find de rigtige rækker og slet resten

Hej jeg har et problem jeg håber i kan hjælpe mig med.

Jeg har en excel fil der indeholder mange rækker med data, jeg ønsker at benytte VBA til at løse nedenstående opgave.

Kolonne A indeholder en produkt kode(tal) samt beskrivelse(bogstaver)

Jeg ønsker at se de rækker hvor produktkoden kun er på 2 cifre, og slette de rækker hvor produktkoden er på flere cifre end 2.

Hvis i har brug for mere information er i velkommen til at skrive.
Avatar billede martin_moth Mester
04. februar 2010 - 14:13 #1
Ved du om produktkoden altid står først, eller sidst? det vil gøre det lidt nemmere, nemlig.

Kan du ikek komme med eksempler på indhold i kolonne A?
Avatar billede lalaman2 Nybegynder
04. februar 2010 - 14:23 #2
produktkoden står altid først.
eksempelvis:
132010 benzin
121030 maskiner
1020 diesel
45 smør
Avatar billede kabbak Professor
05. februar 2010 - 09:05 #3
sæt den i en tom kolonne og når du har rettet til rigtige celle så træk den ned til enden.
Brug så autofilter, til at vælge dem som skal slettes.

=HVIS(FIND(" ";A1;1)=3;"Gemmes";"Slettes")
Avatar billede lalaman2 Nybegynder
05. februar 2010 - 11:29 #4
det skal laves i VBA
Avatar billede kabbak Professor
05. februar 2010 - 11:53 #5
Public Sub SletOverToTal()
    Dim Til As Long, Kol As Integer, I As Long, A As Variant
    Kol = ActiveCell.Column
    Til = Cells(65536, Kol).End(xlUp).Row
    For I = Til To 2 Step -1
        A = Split(Cells(I, Kol), " ")
        If Val(A(0)) >= 100 Then Cells(I, Kol).EntireRow.Delete
    Next
End Sub


Stil dig på en celle i den kolonne som den skal virke på inden du kører den.

HUSK at makroer ikke kan fortrydes.
Avatar billede lalaman2 Nybegynder
06. februar 2010 - 13:26 #6
koden er sat ind i en sammenhæng hvor der bliver hentet et dokument inden. koden fejler ved If Val(A(0)) >= 100 Then. dog udføre den handlingen korrekt. du får de point, hvis jeg får det til at virke 100 %
Avatar billede kabbak Professor
06. februar 2010 - 14:34 #7
prøv at lave

Val(A(0)) >= 100

om til
Len(A(0)) >2
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
Kurser inden for grundlæggende programmering

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