amundsf Skrevet 13. mars 2009 Del Skrevet 13. mars 2009 (endret) Hei! Jeg kan egentlig ingen koding. Men forstår nok til at jeg kan være inne og endre litt i eksisterende koder. Se først eksisterende kode (utdrag fra et ganske svært opplegg): sText = GetIntermediateGroupText(iClient, lMGrp) If sText <> "" Then FormatRowTop (lRow) Cells(lRow, 1) = sText FormatText (lRow) lRow = lRow + 2 End If 'FormatText' "henviser" da til følgende kode: Public Sub FormatText(ByVal lRow As Long)Dim sR1, sR2 As String sR1 = "A" & lRow & ":J" & lRow sR2 = "J" & lRow Rows(lRow).Select Selection.Font.Italic = True Range(sR1).Select Range(sR2).Activate With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlTop .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With Selection.Merge With Selection .HorizontalAlignment = xlLeft .VerticalAlignment = xlTop .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With End Sub Det som er saken er at i blandt er teksten som listes (og som denne koden formaterer) for lang til å få plass på en linje. Det jeg derfor søker er en kodesnutt som angir at radhøyden skal tilpasses teksten (legg merke til at wrap text = true). Håper å slippe kode som hensyntar antall tegn/størrelse/bredde på siden også videre for å sette høyden. Det blir for mye tullball og vanskelig å holde korrekt hvis noe endres. Så det jeg er ute etter er en kode som setter radhøyden slik at all tekst kommer med ("automatisk"). Omtrent som når man dobbeltklikker for å fastsette radhøyde i excel. Finnes det en slik kode? På forhånd takk så mye for all hjelp! Endret 13. mars 2009 av amundsf Lenke til kommentar
amundsf Skrevet 13. mars 2009 Forfatter Del Skrevet 13. mars 2009 Etter å ha googla litt har jeg funnet koden nedenfor, men jeg er mildt sagt rimelig usikker på hvordan jeg kan sy denne inn i koden jeg selv sitter på. Hjelp mottas derfor med takk! Private Sub Worksheet_Change(ByVal Target As Range) Dim NewRwHt As Single Dim cWdth As Single, MrgeWdth As Single Dim c As Range, cc As Range Dim ma As Range With Target If .MergeCells And .WrapText Then Set c = Target.Cells(1, 1) cWdth = c.ColumnWidth Set ma = c.MergeArea For Each cc In ma.Cells MrgeWdth = MrgeWdth + cc.ColumnWidth Next Application.ScreenUpdating = False ma.MergeCells = False c.ColumnWidth = MrgeWdth c.EntireRow.AutoFit NewRwHt = c.RowHeight c.ColumnWidth = cWdth ma.MergeCells = True ma.RowHeight = NewRwHt cWdth = 0: MrgeWdth = 0 Application.ScreenUpdating = True End If End With End Sub Lenke til kommentar
Alexen Skrevet 14. mars 2009 Del Skrevet 14. mars 2009 Mulig jeg har misforstått deg helt nå: Cells(2, 2).EntireRow.AutoFit denne lille koden autojusterer radhøyden til rad 2 slik at det passer til innholdet i celle B2. Lenke til kommentar
amundsf Skrevet 14. mars 2009 Forfatter Del Skrevet 14. mars 2009 Ser ikke ut til at den fungerer. Er du sikker på at den fungerer ved sammenslåtte celler? For det er vel ved sammenslåtte celler (med bryting av tekst) som autofitfunksjonen ikke helt fungerer. Lenke til kommentar
Harald Staff Skrevet 14. mars 2009 Del Skrevet 14. mars 2009 Prøv Greg Wilsons løsning herfra http://tinyurl.com/b5jdvr HTH. Beste hilsen Harald Lenke til kommentar
Alexen Skrevet 14. mars 2009 Del Skrevet 14. mars 2009 Aaah.. fikk ikke med meg at det var sammenslåtte celler nei Lenke til kommentar
amundsf Skrevet 14. mars 2009 Forfatter Del Skrevet 14. mars 2009 (endret) Prøv Greg Wilsons løsning herfrahttp://tinyurl.com/b5jdvr Hei og takk for hjelp Harald! Er ikke Greg Wilson sin løsning den jeg har quota i post nr. 2 i denne tråden? Den har jeg forsøkt, men pga. mitt relativt lave kunnskapsnivå i VBA sliter jeg med å sy den inn i "min" kode (som er gjengitt i post 1). Har du/noen andre tips for hvilke endringer som må gjøres? På forhånd takk så mye for all hjelp! Endret 14. mars 2009 av amundsf Lenke til kommentar
Harald Staff Skrevet 14. mars 2009 Del Skrevet 14. mars 2009 Mjo. Trøbbelet er at jeg ikke helt forstår din opprinnelige kode, hva den gjør, hvorfor, og ikke minst hva som er viktig for deg å beholde i den. Beste hilsen Harald Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå