sorter en bunke værdier efter længde og flyt til nye celler
Hej.
Jeg skal via VBA kodning markere en kolonne og hvis der er nogle værdier som er kortere end 8 tal skal værdien i cellen flyttes en kolonne til venstre, men jeg kan ikke umiddelbart regne ud hvordan jeg gør det?
Hvad har du i forvejen? Din formulering af spørgsmålet gør at jeg personligt tænker du måske er ny i VBA.
Det nemmeste du kan er at lave et loop der starter ved række 1 (eller 2 hvis der er overskrifter), kontrollerer længden af det der står i cellen og så flytter den, derefter går videre til næste række.
Her et eksempel (utestet) der løber række 2 til 100 igennem:
For r = 2 to 100
if Len(range(r,3).value) < 8 then Range(r,3).Cut Range(r,2) end if next r
Sub test() For Each c In Range("B2:B10").Cells If Not IsEmpty(c) Then c.Activate If Len(c) < 8 Then ActiveCell.Cut ActiveCell.Offset(0, -1) End If End If Next c End Sub
Sub test() For Each c In Range("B2:B10").Cells If Not IsEmpty(c) Then 'spring over tomme If IsNumeric(c) Then 'spring over hvis ikke tal c.Activate If Len(c) < 8 Then ActiveCell.Cut ActiveCell.Offset(0, -1) End If End If End If Next c End Sub
Undskyld jeg har taget jeres tid, jeg fik faktisk ikke brug for det alligevel, så jeg har heller ikke fået testet om jeres løsninger virker.
Jeg tester hvis jeg får brug for det en anden gang, og så skal jeg nok markere løsning.
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.