Avatar billede tida Juniormester
27. marts 2003 - 10:52 Der er 11 kommentarer og
1 løsning

Gem udvalgte rækker

Jeg ønsker følgende kommando omsat til en makro :

1. Vis alle rækker
2. For række 5:500 gælder nu at
3. Hvis kolonne A = 1 så vis rækken
4. Hvis kolonne A = 2 så skjul rækken
5. Hvis kolonne A = "" så Hvis sum af kolonne B:N = 0 så skjul

Håber det er til at forstå og at nogen kan hjælpe mig inden for længe.

På forhånd tak.
27. marts 2003 - 11:00 #1
Hej Tida - den er ikke testet

Public Sub Demo()
    Dim lCount As Long
   
    For lCount = 500 To 5 Step -1
        Select Case CStr(Cells(lCount, 1).Value)
            Case "1"
                Cells(lCount, 1).EntireRow.Hidden = False
            Case "2"
                Cells(lCount, 1).EntireRow.Hidden = True
            Case ""
                If Application.WorksheetFunction.Sum( _
                    Range("B" & CStr(lCount) & ":N" & CStr(lCount))) Then
                    Cells(lCount, 1).EntireRow.Hidden = True
                End If
        End Select
    Next lCount
End Sub
Avatar billede janvogt Praktikant
27. marts 2003 - 11:20 #2
Der mangler vist et argument "=0"
27. marts 2003 - 11:27 #3
If Application.WorksheetFunction.Sum( _
    Range("B" & CStr(lCount) & ":N" & CStr(lCount))) = 0 Then

godt set jan
Avatar billede tida Juniormester
27. marts 2003 - 11:39 #4
Ja....lige nøjagtig...jeg prøver den igen...med 0
Avatar billede tida Juniormester
27. marts 2003 - 11:47 #5
....ok...den virker....men den er godt nok noget sløv i betrækket.

Jeg har tidligere brugt en lignende variant der suser afsted, men jeg kan ikke finde ud af at tilpasse den til det jeg skal bruge, den ser således ud :

Sub Test()

Range("1:500").EntireRow.Hidden = False
For i = 5 To 500
If Range("a" & i & ":n" & i + 5).Text = "" Then Exit For
If application.WorksheetFunction.Sum(Range("a" & i & ":n" & i)) = "0" Then
Range(i & ":" & i).EntireRow.Hidden = True
End If
Next
Range("A1").Select
End Sub
27. marts 2003 - 11:53 #6
Public Sub Demo()
    Dim lCount As Long
   
    Application.ScreenUpdating = False
    Range("A5:A500").EntireRow.Hidden = False
    For lCount = 500 To 5 Step -1
        Select Case CStr(Cells(lCount, 1).Value)
            Case "2"
                Cells(lCount, 1).EntireRow.Hidden = True
            Case ""
                If Application.WorksheetFunction.Sum( _
                    Range("B" & CStr(lCount) & ":N" & CStr(lCount))) Then
                    Cells(lCount, 1).EntireRow.Hidden = True
                End If
        End Select
    Next lCount
    Application.ScreenUpdating = True
End Sub
27. marts 2003 - 11:53 #7
= 0 mangler igen :-)
Avatar billede tida Juniormester
27. marts 2003 - 11:57 #8
Den mangler vist lige det med 0 igen
Avatar billede tida Juniormester
27. marts 2003 - 12:09 #9
Tusind tak Flemming, den kører helt perfekt.
27. marts 2003 - 12:11 #10
Det var godt - god fornøjelse
Avatar billede tida Juniormester
27. marts 2003 - 12:26 #11
Forøvrigt Flemming....ved du hvorfor denne makro, efter aktivering af print bliver helt ekstrem tung. Man er faktisk nød til at starte filen op igen efter print. ?????
27. marts 2003 - 12:30 #12
Nej, det aner jeg ikke, men jeg har før bandet over skjul og vis af rækker i Excel, som jeg synes er langsom
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