Avatar billede mira96ac Novice
21. september 2006 - 09:52 Der er 6 kommentarer og
1 løsning

Sætte streg under hvert afsnit i excel

Hejsa

Kan man lave en makro som :

Tjekker kolonne B som starter med værdier i B9 og fortsætter i princippet i det uendelige (kan gøre). I kolonne B står der nogle numre. Hver gang at der skiftes nummer skal der sættes en understre fra kolonne b til e.

Det samme i en funktion for kolonne d. her står der initialer på personer. hver gang der skiftes initialer som skal der sættes en under streg.

Et eksempel 1:

201
201
201
---
202
---
203
203

og eksempel 2:

MR
MR
--
PR
--
IE
--

De to funktioner er uafhængiege at hinanden og skal altså ikke aktiveres samtidig.

kan man det ?
Avatar billede kabbak Professor
21. september 2006 - 10:21 #1
Sub B_Kolonne()
  For I = 9 To Range("B65536").End(xlUp).Row
  If Range("B" & I + 1) <> Range("B" & I) Then
  With Range("B" & I & ":E" & I).Borders(xlEdgeBottom)
        .LineStyle = xlDot
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    End If
  Next
End Sub
Avatar billede mira96ac Novice
21. september 2006 - 10:28 #2
Jeg synes desværre ikke at der sker noget
Avatar billede kabbak Professor
21. september 2006 - 14:37 #3
Du kan måske ikke se den den er stiplet, her er en den kan du se

Sub B_Kolonne()
  For I = 9 To Range("B65536").End(xlUp).Row
  If Range("B" & I + 1) <> Range("B" & I) Then
  With Range("B" & I & ":E" & I).Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlMedium
        .ColorIndex = xlAutomatic
    End With
    End If
  Next
End Sub
Avatar billede mira96ac Novice
21. september 2006 - 14:58 #4
Det virker fint nu

bare lige en ting. Det skulle gerne virke sådan at jeg enten kører makroen for at se streger baseret på B kolonnen først. Og så måske på D kolonnen senere, altså når der allerede er streger fra B-makroen.

Hvordan laver man makroen så den fjerner alle eksisterende streger før den køres ?
Avatar billede kabbak Professor
21. september 2006 - 15:22 #5
Sub B_Kolonne()

' Gamle streger fjernes
    Range("B9:E" & Range("B65536").End(xlUp).Row).Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
   
    'Nye streger tilføjes
    For I = 9 To Range("B65536").End(xlUp).Row
        If Range("B" & I + 1) <> Range("B" & I) Then
            With Range("B" & I & ":E" & I).Borders(xlEdgeBottom)
                .LineStyle = xlContinuous
                .Weight = xlMedium
                .ColorIndex = xlAutomatic
            End With
        End If
    Next
End Sub
Avatar billede mira96ac Novice
21. september 2006 - 15:35 #6
Perfekt

tak for hjælpen...

Kom med et svar, så får du point.
Avatar billede kabbak Professor
21. september 2006 - 15:49 #7
et svar ;-))
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