Sub Fjern() Range("A1:AD104").Select Set myRange = Selection For Each c In myRange If c.Offset(0, 0) = 0 Then c.Offset(0, 0) = "" Next Range("A1").Select End Sub
Jeg tænkte en makro, der fjerner cellen ligesom en makro der sletter en række hvis der er en række, hvor der står 0.Så teksten blev mere sammenhængende uden alt for store blanke huller.
De to foreslået makroer virker ved, at værdien 0 forsvinder, så der er en blank celle.
Så kan du flytte cellerne til venstre på denne måde:
Sub Fjern() Range("A1:AD104").Select Set myRange = Selection For Each C In myRange If C = 0 And C <> "" Then C.Delete Shift:=xlToLeft Next Range("A1").Select End Sub
Hvis du hellere vil flytte celler op så bruges dette i stedet for:
Jeg er ikke helt sikker på hvad du ønsker. Hvis du begynder at rykke enkelte celler til venstre eller op kan det let blive noget rod, men sletning af hele linier kan laves med nedestående makro. Den laver det samme som før, men sletter også de linier, hvor der kun er nuller.
Sub DeleteZeros() Dim R, C As Range Set R = Range("A2:AD104") For Each C In R If C = 0 Then C.ClearContents End If Next For x = 104 To 2 Step -1 If Application.Sum(Range(Cells(x, 1), Cells(x, 30))) = 0 Then Rows(x).Delete End If Next End Sub
Den virker fantastisk :D brugte den med "C.Delete Shift:=xlUp"
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.