Avatar billede excel123 Nybegynder
21. december 2012 - 20:43 Der er 5 kommentarer

Makro udfører ikke alt

Hej!
Nedenstående makro åbner en excel fil og sletter rækkerne i den, men vil ikke sorter dem. Så den afspiller kun halvdelen. Hvordan kan jeg får den til at fortsætte?

Sub Macro1()

Workbooks.Open Filename:="C:\Users\Bruger\Documents\Roskilde.xlsx"
   
Dim sidsteRække As Integer, ræk As Integer
 

    sidsteRække = ActiveCell.SpecialCells(xlLastCell).Row
   
    For ræk = 1 To sidsteRække
        If Range("C1") = "Roskilde" Then
            Exit Sub
        Else
            Rows("1:1").Delete
        End If
  Next ræk


    Columns("A:J").Select
    ActiveWorkbook.Worksheets("prog2013").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("prog2013").Sort.SortFields.Add Key:=Range( _
        "D2:D893"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("prog2013").Sort
        .SetRange Range("A1:G893")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
 
End Sub
Avatar billede store-morten Ekspert
22. december 2012 - 21:50 #1
Denne del stoppe makroen?

For ræk = 1 To sidsteRække
        If Range("C1") = "Roskilde" Then
            Exit Sub
        Else
            Rows("1:1").Delete
        End If
  Next ræk



Prøv med:

For ræk = 1 To sidsteRække
        If Range("C1") = "Roskilde" Then
            goto Sorter
        Else
            Rows("1:1").Delete
        End If
  Next ræk
Sorter:
Avatar billede excel123 Nybegynder
22. december 2012 - 23:13 #2
Koden stopper ved sortere og der kommmer meddelelse compiller error label not defined.


Sub Macro1()

Workbooks.Open Filename:="C:\Users\Bruger\Documents\Roskilde.xlsx"
   
Dim sidsteRække As Integer, ræk As Integer
 

    sidsteRække = ActiveCell.SpecialCells(xlLastCell).Row
   
    For ræk = 1 To sidsteRække
        If Range("C1") = "Roskilde" Then
            Go to sortere
        Else
            Rows("1:1").Delete
        End If
  Next ræk
Sortere

    Columns("A:J").Select
    ActiveWorkbook.Worksheets("prog2013").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("prog2013").Sort.SortFields.Add Key:=Range( _
        "D2:D893"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("prog2013").Sort
        .SetRange Range("A1:G893")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
 
End Sub
Avatar billede excel123 Nybegynder
22. december 2012 - 23:23 #3
jeg fandt ud af.Tak for hjælpen.
Avatar billede store-morten Ekspert
22. december 2012 - 23:25 #4
Der mangler : efter Sortere:
Avatar billede store-morten Ekspert
22. december 2012 - 23:43 #5
Velbekomme.
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

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