Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketBetinget formattering flytter række til nyt ark

 Besvar Besvar
Forfatter
tyndetove Se dropdown
Forum Begynder
Forum Begynder


Medlem: 06.Nov.2018
Status: Offline
Point: 2
Direkte link til dette indlæg Emne: Betinget formattering flytter række til nyt ark
    Sendt: 06.Nov.2018 kl. 10:46
Hej alle,

Jeg har brug for lidt hjælp til mit excel på arbejdet. I forvejen så har jeg pæn erfaring med både formler og VBA.

Jeg sidder og er igang med at lave et status dokument hvor jeg har lavet farve-betinget status (Rød, gul, grøn). Da det er et dynamisk ark, så skal de "grønne" gerne forsvinde så det kun er røde og gule på status-arket.

Hvordan kan jeg nemmest få en række til at forsvinde over i nærmeste ledige række i et nyt ark(sheet) når jeg vælger den grønne status? Jeg tænker der skal en form for VBA ind over her.

Alternative løsninger er også velkomne, men det skal bare være nemt at bruge for folk der ikke er excel-kyndige :)

På forhånd mange tak for hjælpen :)
Til top



Til top
maxzpad Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 566
Direkte link til dette indlæg Sendt: 07.Nov.2018 kl. 10:40
Jeg tænker, at det letteste er at skjule de grønne ved hjælp af et autofilter. Du har sandsynligvis en kolonne, hvis værdier betinger rød, gul og grøn, så hvis du filtrerer værdien for grøn væk, vil du have de to andre tilbage (og så behøver du ikke flytte rækker til et andet ark). Dette kan du så skrive en Sheet_Change-makro, der opdaterer automatisk i takt med ændringer.
Til top
tyndetove Se dropdown
Forum Begynder
Forum Begynder


Medlem: 06.Nov.2018
Status: Offline
Point: 2
Direkte link til dette indlæg Sendt: 07.Nov.2018 kl. 12:44
Tak for svar.

Jeg endte med at tage en eksisterende løsning og tilrette den til mit ark, så det virker som det skal lige nu. Den mangler dog noget funktionalitet hvis den skal bygges videre på, men det virker da lige nu :)

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim KeyCells As Range
    Dim lastRow As Integer, lastRowOut As Integer, pasteRow As Integer
    Dim wsÅbne As Worksheet, wsLøst As Worksheet
    
    Set wsÅbne = ThisWorkbook.Sheets("Aktuelt")
    Set wsLøst = ThisWorkbook.Sheets("Godkendt")
    
    lastRow = wsÅbne.Cells(wsÅbne.Rows.Count, 2).End(xlUp).Row

    ' The variable KeyCells contains the cells that will
    ' cause an alert when they are changed.
    Set KeyCells = wsÅbne.Range("G2:G" & lastRow)
    
    If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then

        For i = 2 To lastRow

            lastRowOut = wsLøst.Cells(wsLøst.Rows.Count, 2).End(xlUp).Row
            
            If lastRowOut = 1 Then
                pasteRow = 2
            Else
                pasteRow = wsLøst.Cells(wsLøst.Rows.Count, 2).End(xlUp).Row + 1
            End If
    
            If wsÅbne.Range("G" & i).Value = "GODKENDT" Then
                
                wsÅbne.Range("A" & i & ":G" & i).Cut Destination:=wsLøst.Range("A" & pasteRow)
                wsÅbne.Rows(i).EntireRow.Delete

            End If

        Next i
       
    End If
    
End Sub

Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk