Avatar billede kim1a Ekspert
27. juni 2023 - 09:34 Der er 1 kommentar og
1 løsning

VBA - autofit row hight

Jeg har brug for at en vba justerer rækkehøjde automatisk.Jeg laver en Excel til et pdf tilbud.
Jeg kopierer en celle med tekst, og jeg kender ikke længden af denne tekst. Jeg laver en merge så cellen får ønskede bredde (står pænt med resten af tilbuddet), hvorefter jeg ønsker at justere højden på den specifikke række for at få teksten med i sin helhed (der kan være ALT+enter linjeskift)

Den ændrer det bare ikke:

Sheets(strSh_Proposal).Range("B" & intLastRow_Sh_Proposal3 + 6).PasteSpecial Paste:=xlPasteValues 'AndNumberFormats ' kopiering af tekst

With Sheets(strSh_Proposal).Range("B" & intLastRow_Sh_Proposal3 + 6 & ":H" & intLastRow_Sh_Proposal3 + 6)
            .Merge Across = True
            .WrapText = True
            .EntireRow.AutoFit
            .HorizontalAlignment = xlLeft
End With

jeg har forsøgt om det er rækkefølgen af mine små with ting, men intet gør forskellen. Er der nogle som et forslag til hvad jeg måske gør galt?
Avatar billede kim1a Ekspert
27. juni 2023 - 09:54 #1
Nå - lærte så:
https://support.microsoft.com/en-us/topic/you-cannot-use-the-autofit-feature-for-rows-or-columns-that-contain-merged-cells-in-excel-34b54dd7-9bfc-6c8f-5ee3-2715d7db4353

og måtte i stedet bruge denne løsning:
    With Sheets(strSh_Proposal).Range("B" & intLastRow_Sh_Proposal3 + 6)
        .PasteSpecial Paste:=xlPasteValues
        .PasteSpecial Paste:=xlPasteFormats
    End With
   
    sglRaekkeHoejde = Sheets(strSh_Proposal).Range("B" & intLastRow_Sh_Proposal3 + 6).RowHeight

Satte den kopierede tekst ind i en celle, nappede rækkehøjden på det tidspunkt og lave så samme rækkehøjde efter wrap.

Desværre er rækkehøjde jo for markant efter wrap, men det bedste af to onder - på denne måde er jeg sikker på der er nok plads.
03. juli 2023 - 12:17 #2
Snydeløsningen...
Ja flettede/merged celler er ikke så gode at lave højder med, men...

F.eks. har du dit "skema" i kolonnerne A-H
Kolonne H er dine kommentarer og længderne varierer...
Så kan man lave en skygge-kolonne... f.eks. kan M være din skygge af H...
M kolonnen skal have samme bredde som H og den skal have tekstombrydning slået til
Formlen i M1 skal være =H1 osv dernedad, således indholdet bliver det samme

M kan være skjult og udenfor printområdet


Nogle gange har man et skema, hvor der er flere forskellige størrelse fletninger, så kan man jo bare bruge flere skygge kolonner i forskellige bredder til at afhjælpe.
Det virker super - håber det gav mening
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