Avatar billede prinsib Seniormester
12. april 2008 - 18:19 Der er 6 kommentarer og
1 løsning

Slette tomme rækker

Jeg har et regneark hvor jeg løbende sætter tal ind i kollonne b3..g3 og ned. (I kollonne A står der tekst) Når jeg er færdig med at udfylde arket vil jeg gerne slette alle de tomme rækker hvor der ikke er blevet sat noget ind i. (også teksten der står i A) Kan det lade sig gøre?
Ib
Avatar billede staal84 Nybegynder
13. april 2008 - 08:57 #1
Du kan gøre det med en makro. Jeg har denne som skjuler rækkerne, når cellen i kolonne  F er 0. Måske du kan tilpasse den dit ark.

Sub skjul()

Dim slut, i As Integer

slut = Range("F65000").End(xlUp).Row

For i = slut To 1 Step -1
Cells(i, 6).Select
    If ActiveCell.Value = 0 Then
        If ActiveCell.Offset(0, 1).Value = 0 Then
            ActiveCell.EntireRow.Select
        Selection.EntireRow.Hidden = True
        End If
    End If
Next

End Sub
Avatar billede prinsib Seniormester
13. april 2008 - 19:17 #2
Hej staal84
Den makro kunne jeg ikke få til at virke på mit ark. Jeg ændrede linie 3 til
slut = Range("i3").End(xlUp).Row og prøvede så med 1 og 0 i i3 men det skjulte ikke de tomme rækker
Avatar billede prinsib Seniormester
13. april 2008 - 19:22 #3
Forresten skal makroen i ThisWorkbook modulet eller hvordan skal jeg sætte makroen ind?
Avatar billede staal84 Nybegynder
13. april 2008 - 21:54 #4
Makroen skal indsætes i et module.

slut = Range("F65000").End(xlUp).Row
er den række, hvor makroen starter og så går den op til række 1

For i = slut To 1 Step -1
fra række 65000 til række 1 en række af gangen

Cells(i,6) står i formatet Række,Kolonne. Så "i" er vores dynamiske række, som hele tiden  bliver en mindre og "6" er kolonne F. Min makro (kommer jeg til at se nu) tjekker både kolonne F og G for nulværdier. Det er derfor der er to If-sætninger, en som tjekker kolonne F og endnu en som lægger 1 til de 6, altså kolonne G.

Håber det forklarer det bedre.
Avatar billede prinsib Seniormester
14. april 2008 - 13:36 #5
Hej staal84
Tak den forklaring hjalp. Nu virker det. Hvordan kollonne "G" bliver tjekket som du skriver kan jeg ikke se, men bare den tjekker på "B" er det også godt nok. Nu ser den sådan her ud.

Dim slut, i As Integer

slut = Range("B65000").End(xlUp).Row

For i = slut To 1 Step -1
Cells(i, 2).Select
    If ActiveCell.Value = 0 Then
        If ActiveCell.Offset(0, 1).Value = 0 Then
            ActiveCell.EntireRow.Select
        Selection.EntireRow.Hidden = True
        End If
    End If
Next

End Sub

Send et svar

Obs!! Obs!!
Kan det mon laves så den også tjekker på Teksten i "A" og derefter på tomme i "B".
Forklaring. Hvis der står tekst i "A" med fed skrift (en overskrift) så skal denne række ikke gemmes selv om "B" er tom. 
Tak for hjælpen
Ib.
Avatar billede staal84 Nybegynder
14. april 2008 - 14:51 #6
Skrev du ikke forkert? Hvis der er en overskrift i A og B er tom, så skal den alligevel gemmes?

På min måde, at forstå den på ser den således ud:

Sub skjul()
Dim slut, i As Integer

slut = Range("A65000").End(xlUp).Row

For i = slut To 1 Step -1
Cells(i, 1).Select
    If ActiveCell.Font.Bold = False Then 'kolonne A
        If ActiveCell.Offset(0, 1).Value = 0 Then 'Kolonne B
            ActiveCell.EntireRow.Select
        Selection.EntireRow.Hidden = True
        End If
    End If
Next
End Sub

Ellers kan du ændret False til True.
Avatar billede prinsib Seniormester
15. april 2008 - 14:55 #7
Nu virker det helt rigtigt. Tak og her er point
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