07. juni 2011 - 09:30Der er
10 kommentarer og 1 løsning
Automatisk indrykning af tekst
Hej
Jeg har tekst i kolonne B og en værdi mellem 1 og 4 i kolonne C. Kan det lade sig gøre at teksten i kolonne B automatisk laver indrykning med det antal tegn, der tastes i kolonne C?
Mød en af Nordens fremmeste eksperter i adfærdsdesign – Morten Münster, der bl.a. har skrevet ” Jytte fra marketing er desværre gået for i dag” – på Computerworld Cloud & AI Festival.
Indrykningen bliver ikke lige så stor ved at lave mellemrum, som når man bruger indrykningsfunktionen under "Formater celler", og så får jeg ikke det overblik jeg gerne vil have.
Jeg havde mere tænkt i retning af en makro, som automatisk indrykker teksten i kolonne B når der tastes et tal i kolonne C.
Sub indryk() Dim c As Range For Each c In Range("B1", Range("B1").End(xlDown)).Cells If IsNumeric(c.Offset(0, 1).Value) Then c.InsertIndent c.Offset(0, 1).Value End If Next End Sub
Den virker på alle tekster i kolonne B med mindre der er huller i datasættet (altså tomme celler i kolonne B)
Sub indryk() Dim c As Range For Each c In Range("B1", Range("B1").End(xlDown)).Cells If IsNumeric(c.Offset(0, 1).Value) Then If c.Offset(0, 1).Value <= 15 Then If c.IndentLevel > 0 Then c.InsertIndent -c.IndentLevel c.InsertIndent c.Offset(0, 1).Value End If End If Next End Sub
Så er koden robust over for tal over 15 og kan køres flere gange.
Dim c As Range For Each c In Range("B1", Range("B1").End(xlDown)).Cells If IsNumeric(c.Offset(0, 1).Value) Then If c.Offset(0, 1).Value <= 15 And c.Offset(0, 1).Value > 0 Then If c.IndentLevel > 0 Then c.InsertIndent -c.IndentLevel c.InsertIndent c.Offset(0, 1).Value End If End If Next
Synes godt om
Ny brugerNybegynder
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.