Avatar billede boro23 Forsker
14. september 2015 - 11:52 Der er 7 kommentarer og
1 løsning

VBA hjælp

Jeg har en fil med to ark, første ark hedder "Caselist", det andet ark hedder "Filed cases". Jeg har forsøgt at lave makro der skal gøre nedenstående, men kan ikke få det til at virke. Hjælp ønskes, håber nogen kan hjælpe ;-)
» Find x i kolonne K i arket "Caselist", klip rækken væk hvori  x'et findes.
» msg box "Er du sikker du vil arkiver række (aktuel række)"
» Indsæt tom række under række 5 i arket "Filed cases" og indsæt klippet række
Avatar billede supertekst Ekspert
14. september 2015 - 14:33 #1
Anbringes under fane CaseList

Dim ræk As Integer, antalRækker As Integer
Public Sub arkivering()
    antalRækker = ActiveSheet.Range("K99999").End(xlUp).Row
    ræk = findRække(Sheets("CaseList"), "K1:K" & CStr(antalRækker), "x")
   
    If ræk > 0 Then
        svar = MsgBox("Er du sikker på at du vil arkivere række " & CStr(ræk), vbYesNo, "Arkivering")
        If svar = 6 Then
            Rows(ræk & ":" & ræk).Select
            Selection.Cut
            Sheets("Filed Cases").Select
            ActiveSheet.Rows("6:6").Select
            Selection.Insert Shift:=xlDown
       
            Sheets("CaseList").Select
            Selection.Delete Shift:=xlUp
        End If
    End If
End Sub
Private Function findRække(ark, område, id)
    With ark.Range(område)
        Set c = .Find(id, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            findRække = c.Row
        Else
            findRække = 0
        End If
    End With
End Function
Avatar billede boro23 Forsker
15. september 2015 - 07:21 #2
Hej supertekst
Koden virker perfekt, godt lavet. Dog får jeg nogle betinget formater med over i "FiledCases" som jeg gerne vil undgå, kan du rette det? Mange 1000 tak for hjælpen
Avatar billede supertekst Ekspert
15. september 2015 - 08:26 #3
Hej Boro23

Prøv at sende mig et eksempel på det du nævner

Selv tak :-)
Avatar billede boro23 Forsker
15. september 2015 - 10:21 #4
Hej supertekst
Det må jeg desværre ikke. Måske du kan hjælpe mig, hvis jeg formulerer mig anderledes.

Det jeg mener er, at den række der skal arkiveres, skal indsættes "specielt værdier" i arket "FiledCases" så der ikke kommer nogen formater med over i arket "FiledCases".
Avatar billede supertekst Ekspert
15. september 2015 - 10:56 #5
Ok - er med  - vender tilbage lidt senere..
Avatar billede supertekst Ekspert
15. september 2015 - 14:01 #6
Rem Version 2
Dim ræk As Integer, antalRækker As Integer
Public Sub arkivering()
    antalRækker = ActiveSheet.Range("K99999").End(xlUp).Row
    ræk = findRække(Sheets("CaseList"), "K1:K" & CStr(antalRækker), "x")
   
    If ræk > 0 Then
        svar = MsgBox("Er du sikker på at du vil arkivere række " & CStr(ræk), vbYesNo, "Arkivering")
        If svar = 6 Then
Rem indsæt ny række 6 på Filed Cases
            Sheets("Filed Cases").Select
            ActiveSheet.Rows("6:6").Select
            Selection.Insert Shift:=xlDown, CopyOrigin:=xlNone
           
            Sheets("CaseList").Select
           
            Rows(ræk & ":" & ræk).Select
            Selection.Copy
            Sheets("Filed Cases").Select
           
            ActiveCell.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
               
            Sheets("CaseList").Select
            Selection.Cut
            Selection.Delete Shift:=xlUp
        End If
    End If
End Sub
Private Function findRække(ark, område, id)
    With ark.Range(område)
        Set c = .Find(id, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            findRække = c.Row
        Else
            findRække = 0
        End If
    End With
End Function
Avatar billede boro23 Forsker
15. september 2015 - 14:18 #7
1000 tak for hjælpen
Avatar billede supertekst Ekspert
15. september 2015 - 14:37 #8
Selv tak
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