Avatar billede Butterfly Ekspert
23. august 2018 - 11:49 Der er 8 kommentarer og
1 løsning

Autohøjde + selvvalgt tillæg

Hej
Jeg har lavet en makro der tilpasser højden på en celle afhængig af hvor meget tekst der står. Er det muligt at udvide denne makro med noget ekstra selvvalgt højde, 15 pixels (eller hvad det nu hedder).
Cells.EntireRow.AutoFit
Avatar billede finb Ekspert
23. august 2018 - 12:06 #1
Utestet:
Cells.EntireRow.row.heigth =  Cells.EntireRow.AutoFit + 15
eller
(Cells.EntireRow.AutoFit).heigth + 15
eller
loop 2 gange,
1. loop: Cells.EntireRow.AutoFit
2. loop: Cells.EntireRow.row.heigth = Cells.EntireRow.row.heigth + 15
23. august 2018 - 12:10 #2
Testet ;-)

Sub test()
    ActiveCell.EntireRow.AutoFit
    ActiveCell.EntireRow.RowHeight = ActiveCell.RowHeight + 15
End Sub


Er skrevet så det kun påvirker den række markøren står i - tænker det er det mest hensigtsmæssige
Avatar billede Butterfly Ekspert
23. august 2018 - 12:54 #3
Tak for hurtigt svar Thor Østergaard, men den hopper tilbage til AutoFit, hvis jeg vælger at markere en kolonne.
Hvis jeg kører den for en enkelt celle så virker det, men så forsvinder meningen med den.
23. august 2018 - 13:01 #4
Du kan "bare" erstatte activecell med cells.
Udfordringen er bare, at du godt kan have rækker med forskellig højde, hvorfor det kan blive lidt bøvlet at skulle håndtere alle rækker på én gang.
Avatar billede Butterfly Ekspert
23. august 2018 - 13:42 #5
Jeg ved ikke helt hvad jeg gør galt, men det virker desværre ikke
Range("B:B").Select
    Cells.EntireRow.AutoFit
    Cells.EntireRow.RowHeight = Cells.RowHeight + 15
23. august 2018 - 13:51 #6
Prøv med

    Range("B:B").Select
    Selection.EntireRow.AutoFit
    Selection.EntireRow.RowHeight = Selection.RowHeight + 15


eller pænere

With    Range("B:B")
    .EntireRow.AutoFit
    .EntireRow.RowHeight = .RowHeight + 15
end with


Er dog ikke helt klar over, hvad du præcis mener med "virker ikke" - du må gerne prøve at forklare, hvad du gerne vil opnå.
23. august 2018 - 13:54 #7
Hvis dine rækker har forskellig højde skal du nok nærmere have noget i retnign af

Dim c as range
For each c in range("B1:B222")
  with c
    .EntireRow.AutoFit
    .EntireRow.RowHeight = .RowHeight + 15
  end with
next


B1:B222 er bare et skud fra hoften, men uden at kende dine data kan jeg ikke lige skrive kode der tilpasser sig antallet af rækker i dit datasæt.
Avatar billede Butterfly Ekspert
23. august 2018 - 14:11 #8
Mange tak for hjælpen, nu virker det
23. august 2018 - 14:13 #9
Super :)
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