Avatar billede kim1a Ekspert
26. november 2020 - 09:25 Der er 1 kommentar og
1 løsning

VBA: rydde op i udtræk

Jeg kopierer fra en hjemmeside med login (= vil ikke overveje at tage på anden vis)

Data ser sådan ud linje for linje:
Hold
Sager
Antal sager
Overskrift
sag1
sag2
sag3
etc
Hold
Sager
Antal sager
Overskrift
sag1
sag2
sag3
etc

og gentager sig 8-10 gange på denne måde.
Jeg vil gerne rydde op således at overskrift optræder en gang
Hold står på hver linje (sag1, sag2 etc)
Antal slettes

Jeg vil derfor lave et loop, og starte nedefra for ikke at gå i stå når jeg sletter en hel linje.
Jeg har følgende:
' clean up data
    intLastLine = Range("A1").CurrentRegion.Rows.Count
        For intL = intLastLine To 1 Step -1
        If Cells(intL, 1).Interior.ColorIndex = 14 Then
        Rows(intL).EntireRow.Delete
        ElseIf IsEmpty(Cells(intL, 2)) Then
        Rows(intL).EntireRow.Delete
        End If
    Next intL

Det I ser er at colorIndex er der hvor overskriften slettes
Hvis kolonne 2 er tom er der hvor hold og sager vælges
Problemet er ikke at rydde op, men at flytte/kopiere navn ud på de andre linjer - specielt når man starter nedefra.
Hvis jeg startede oppefra ville jeg sige:
farve = slet
hold navn sæt i variabel
isnumeric = slet
andet = sæt holdnavn på bagerst
Måske som en select case tanke

Men hvordan hulen gør jeg når det er nedefra?
Avatar billede kim1a Ekspert
26. november 2020 - 09:25 #1
Hvis kolonne 2 er tom er der hvor hold og sager vælges
hold og antal sager
Avatar billede kim1a Ekspert
28. november 2020 - 11:55 #2
Jeg løste det ved at køre to forskellige loops. Først en fra top og ned, der tog holdnavnet når den ramte en bestemt linje (den farvede) ved den hvor navnet står, og så alle andre linjer indsætte navn.
Derefter køre loopet der sletter linjer nedefra.
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

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