Avatar billede brynil Nybegynder
26. december 2002 - 20:33 Der er 14 kommentarer og
1 løsning

Makro - fjern overflødigt

Jeg har siddet og forsøgt at lave en makro, der kan udføre noget tidrøvende og kedeligt arbejde, men jeg er bange for, det bliver lidt for kreativt, det jeg kommer frem til, så som uendelige løkker. Så jeg vil derfor gerne be om hjælp til makroen.

Jeg importerer oplysninger til et regneark som jeg efterfølgende gerne vil have fjernet alle overflødige informationer fra. Det kan dreje sig om fra 3 til 75 a4-sider information.

Jeg kan anvende koll A til at afgøre om RÆKKEN skal slettes.

Starter fra A1 og går ned til en celle med indholdet "Nummer" Rækkerne ud for alle disse celler samt 2-3 rækker yderligere, hvor cellerne er tomme, skal slettes.

'mærke'(se senere)

Herefter skal de efterfølgende rækker, hvor cellen har en værdi, gemmes.

Så skal der slettes rækker igen.

Det er sikkert, at den første af de næste celler er tom. Så kommer noget blandet landhandel men så igen kommer værdien "Nummer" samt nogle tomme celler. Ligesom tidligere. Disse rækker skal slettes.

Og så er fremgangsmåden den samme, fra ovenfor hvor jeg har skrevet 'mærke'.

Det ku måske også vises på denne måde hvor s = slettes, g = gemmes og x en identificerbar celleværdi:

txt      s
txt      s
tom      s
txt      s
"Nummer"  s x
tom      s x - varierende antal, men altid tomme
tom      s x
p203040  g
1234      g
tom      s x
txt      s
"Nummer"  s x
tom      s x - varierende antal, men altid tomme
tom      s x
tom      s x
23456    g... osv

Er der nogen der har lyst til lidt hjernegymnastik, vil jeg være meget taknemmelig for hjælpen. Jeg ved ikke hvor vanskeligt det er, men håber pointene passer nogenlunde.
Avatar billede Slettet bruger
26. december 2002 - 21:42 #1
Har du mulighed for at sende den ?
tc@elvis.dk
Avatar billede brynil Nybegynder
26. december 2002 - 21:46 #2
Desværre nej. Det er fortroligt arbejdsmateriale. Sku jeg lave det om til noget anonymt ville det ligne det jeg har skitseret til sidst.
Avatar billede brynil Nybegynder
26. december 2002 - 21:51 #3
Åhh - jeg formodede du mente materialet der skal behandles!??
Makroen er jeg begyndt forfra på så det er begrænset hvad jeg har af værdi dér.

Jeg er i tvivl om en del ting. Bl.a. om man skal slette lidt ad gangen eller sletter man det hele til sidst? Så jeg har nok at gå igang med.
Avatar billede bak Forsker
26. december 2002 - 23:03 #4
Brynil-> At slette Nummer og tomme er et mindre problem, men det uidentificebare tekst er lidt sværere.
Hvordan adskiller det sig fra fks. p203040  ?
Er der tal i eller er det ren tekst ?
Avatar billede brynil Nybegynder
26. december 2002 - 23:09 #5
Når jeg kigger på cellerne efter de er pastet ind, så står de som Generel - mener jeg det hedder. Hvor de kommer fra, er de altid defineret som tekst, selv om det er 'tal'.
Jeg havde håbet man ku undgå at beskæftige sig med dem af samme grund, og blot rykke nedad til næste tomme celle, for dem er der ingen af ind imellem de celler jeg skal bruge.
Avatar billede brynil Nybegynder
26. december 2002 - 23:16 #6
Jeg havde forestillet mig noget i stil med:
1. Select ned til Nummer samt efterfølgende tomme celler
2. Spring næste celle over hvis den har værdi
hvis celle er tom så
3. Select ned til Nummer samt efterfølgende tomme celler
osv.
Men nok nemmere sagt end gjort !
28. december 2002 - 09:06 #7
brynil> Hvis du selv leger videre, så er det vigtigt, at du behandler rækkerne nedefra og op, når du skal slette rækker. F.eks. således for at slette "NUMMER"

Denne her skulle tage sig af "nummer" samt efterfølgende "tom"

Sub Demo()
    Dim lCount As Long
   
    For lCount = Range("A65536").End(xlUp).Row To 1 Step -1
        If IsNumeric(Cells(lCount, 1).Value) Then
            Cells(lCount, 1).EntireRow.Delete
            Do While Cells(lCount, 1).Value = ""
                Cells(lCount, 1).EntireRow.Delete
            Loop
        End If
    Next lCount
End Sub
Avatar billede brynil Nybegynder
28. december 2002 - 10:02 #8
Hej flemmingdahl - tak for ovennævnte.

Imidlertid tager den ikke "nummer" med, men måske er det en fordel. Det der er tilbage nu, som skal fjernes, ligger i gentagne grupper som flg.:

'oversigt'
--blandet--
'nummer'

Hvordan kravler man ned/op i en kolonne, indtil man rammer et celle-indhold man kender, f.eks. "nummer"?

Jeg tænkte jeg ku komme frem til et loop, hvor jeg kravler ned! indtil jeg kommer til "oversigt".
Gemmer cellereferencen i en variabelA
kravler videre indtil jeg kommer til "nummer"
Gemmer cellereferencen i en variabelB
Sletter rækker(AB)
loop

Kan det ikke lade sig gøre?

Hvis du kan fortælle mig, hvordan jeg 'spotter' cellen jeg har brug for, så tror jeg jeg er godt på vej!
Avatar billede brynil Nybegynder
28. december 2002 - 10:15 #9
Selvfølgelig sletter den "nummer". Når bare jeg husker at sætte værdien ind i makroen.!!
Det må jeg ku bruge til det andet også!
Takker så meget for hjælpen.
28. december 2002 - 17:16 #10
Ingen årsag - godt du kom videre :-)
Avatar billede brynil Nybegynder
28. december 2002 - 20:07 #11
Det ku jeg squ. Virker perfekt!!!!
28. december 2002 - 23:37 #12
Godt - problematikken med slet er som enkel - når du evaluerer f.eks. række 3 og sletter den, så bliver række 4 nu til række 3, og da række 3 er blevet evalueret, så blive den "gamle" række 4 (ny række 3) altså sprunget over - derfor nedefra.
Avatar billede brynil Nybegynder
29. december 2002 - 00:06 #13
Ja-den tænkte jeg på. Derfor var jeg inde (med mig selv) på om det ikke kunne lade sig gøre kun at 'markere' hver række og så slette disse som det sidste i forløbet. Men da jeg hverken er stødt på metoden eller da bl.a. du ikke kom ind på det, regnede jeg med det ikke var en mulighed. Det kommer sig af, at det jo er muligt manuelt at markere enkelte rækker og slette dem samlet!
Men det er alletiders det jeg har fået ud af det indtil nu. Det er meningen jeg skal bruge det i en access-db for at kunne styre henvendelser ol. så jeg er allerede i en ny kategori. Spændende!
29. december 2002 - 00:14 #14
Det kan godt lade sig gøre - det med markeringen, men så skal der oprettes et array, som hver række skal ind i - inden sletningen. Løsningen med at løbe posterne igennem bagfra er meget hurtigere når koden skal afvikles. Når nok om det - god fornøjelse.
Avatar billede brynil Nybegynder
29. december 2002 - 00:16 #15
Tak - og for hjælp!
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