Avatar billede mari7596 Nybegynder
20. marts 2015 - 19:11 Der er 7 kommentarer

Slette celler der har værdi=0

Jeg har lavet et regneark, hvor jeg i ark har 30 kolonner og 104 rækker. Hvordan laver jeg en makro der kun sletter de celler, hvor der står 0 ???
Avatar billede cht22 Guru
20. marts 2015 - 22:25 #1
Det kan gøres sådan:

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
Avatar billede jens48 Ekspert
20. marts 2015 - 22:30 #2
Du kan gøre det med denne makro:

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
End Sub
Avatar billede mari7596 Nybegynder
21. marts 2015 - 11:17 #3
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.
Avatar billede cht22 Guru
21. marts 2015 - 11:56 #4
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:

C.Delete Shift:=xlUp
Avatar billede jens48 Ekspert
21. marts 2015 - 14:25 #5
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
Avatar billede mari7596 Nybegynder
21. marts 2015 - 17:04 #6
Den virker fantastisk :D brugte den med "C.Delete Shift:=xlUp"
Avatar billede mari7596 Nybegynder
21. marts 2015 - 17:04 #7
Den virker fantastisk :D brugte den med "C.Delete Shift:=xlUp"
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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