Avatar billede sism Nybegynder
16. oktober 2010 - 20:37 Der er 9 kommentarer og
1 løsning

Vis i % hvor langt min makro er i afviklingen

Hvilken kode skal jeg lægge i min makro for at få vist hvor langt makroen er i at blive afviklet.

fx: mangler 100%
og senere
mangler 34%
og til sidst
mangler 0%
Avatar billede kabbak Professor
16. oktober 2010 - 23:31 #1
Application.StatusBar = "mangler " & Format(100 - ((Rækkenummer - det antal rækker der er over hvor den startende række) / total antal rækker med data) * 100, "###.#0") & " %"

Linjen skal være inden for loopet

  TotalAntalRækker = Ark1.Range(Ark1.Range("BA8"), Ark1.Range("BA8").End(xlDown)).Rows.Count

For Rækkenummer = 8 to 500
  Application.StatusBar = "mangler " & Format(100 - ((Rækkenummer - 7) / TotalAntalRækker) * 100, "###.#0") & " %"
next
Avatar billede sism Nybegynder
17. oktober 2010 - 08:42 #2
Kunne jeg eventuelt sende makroen til dig hvor du hjælper mig med at indsætte din kode?

Kan ikke helt gennemskue hvordan jeg skal sætte det ind.
Der er flere ark involveret i makroen.
Avatar billede kabbak Professor
17. oktober 2010 - 14:41 #3
vis din makro her på siden, så ser jeg på den.
Avatar billede sism Nybegynder
17. oktober 2010 - 14:58 #4
Sub Storbritannien()
'
' Storbritannien Makro
'


    Application.ScreenUpdating = False
    Sheets("PivTS").Visible = True
    Sheets("DataKonvertering").Visible = True
    Sheets("PivDiff").Visible = True
    Sheets("BruttoLandeOgPriser").Visible = True
    Sheets("TB Omkostninger").Visible = True
   
   
    Sheets("BruttoLandeOgPriser").Select
    Columns("G:G").Select
    Selection.Replace What:="Storbritannien inkl. Nordirland", Replacement:= _
        "Storbritannien og Nordirland", LookAt:=xlPart, SearchOrder:=xlByRows, _
        MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("TB Prisliste").Select
   
' Irland Makro
'
    Sheets("PivTS").Select
    Columns("B:B").Select
    Selection.Replace What:="Irland (Eire)", Replacement:="Irland", LookAt:= _
        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

    Columns("B:B").Select
    Selection.Replace What:="Italien (med Vatikanstaten)", Replacement:="Italien inkl. Vatikanstaten", LookAt:= _
        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

    Columns("B:B").Select
    Selection.Replace What:="nordamerika", Replacement:="Samoa - Amerikansk", LookAt:= _
        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
       
    Columns("B:B").Select
    Selection.Replace What:="Storbritanien og Nordirland", Replacement:="Storbritannien og Nordirland", LookAt:= _
        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Sheets("OversigtsArk").Select
   
   
       
   
   
    ActiveWorkbook.RefreshAll
    ActiveWorkbook.RefreshAll
   
        Range("B5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Style = "Percent"
   
    Range("A6").Select
    ActiveSheet.PivotTables("Pivottabel2").PivotFields("Land med diff rabat"). _
        AutoSort xlDescending, "Sum af Rabat"
   
    Sheets("PivTS").Visible = False
    Sheets("DataKonvertering").Visible = False
    Sheets("PivDiff").Visible = False
    Sheets("BruttoLandeOgPriser").Visible = False
    Sheets("TB Omkostninger").Visible = False
    Application.ScreenUpdating = True
   

   
    Range("B4").Select
   
   
    End Sub
Avatar billede kabbak Professor
17. oktober 2010 - 20:21 #5
Hej, Jeg kan ikke sætte % på din kode, da det ikke er rækker og kolonner du læser i, men jeg har ændret på koden, så den måske er hurtigere.

Sub Storbritannien()
'
' Storbritannien Makro
'


    Application.ScreenUpdating = False
    Sheets("PivTS").Visible = True
    Sheets("DataKonvertering").Visible = True
    Sheets("PivDiff").Visible = True
    Sheets("BruttoLandeOgPriser").Visible = True
    Sheets("TB Omkostninger").Visible = True
    Dim Data As Variant, I As Long

    Data = Sheets("BruttoLandeOgPriser").Columns("G:G")
    For I = 1 To UBound(Data)
        Data(I, 1) = Replace(Data(I, 1), "Storbritannien inkl. Nordirland", "Storbritannien og Nordirland")
    Next
    Sheets("BruttoLandeOgPriser").Columns("G:G") = Data

    '    Sheets("BruttoLandeOgPriser").Select
    '    Columns("G:G").Select
    '    Selection.Replace What:="Storbritannien inkl. Nordirland", Replacement:= _
        '                      "Storbritannien og Nordirland", LookAt:=xlPart, SearchOrder:=xlByRows, _
        '                      MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    '    Sheets("TB Prisliste").Select

    ' Irland Makro
    '
    Data = Sheets("PivTS").Columns("B:B")
    For I = 1 To UBound(Data)
        Data(I, 1) = Replace(Replace(Replace(Replace(Data(I, 1), "Irland (Eire)", "Irland"), "Italien (med Vatikanstaten)", "Italien inkl. Vatikanstaten"), "nordamerika", "Samoa - Amerikansk"), "Storbritanien og Nordirland", "Storbritannien og Nordirland")
    Next
    Sheets("PivTS").Columns("B:B") = Data

    '    Sheets("PivTS").Select
    '    Columns("B:B").Select
    '    Selection.Replace What:="Irland (Eire)", Replacement:="Irland", LookAt:= _
        '                      xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        '                      ReplaceFormat:=False
    '
    '    Columns("B:B").Select
    '    Selection.Replace What:="Italien (med Vatikanstaten)", Replacement:="Italien inkl. Vatikanstaten", LookAt:= _
        '                      xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        '                      ReplaceFormat:=False
    '
    '    Columns("B:B").Select
    '    Selection.Replace What:="nordamerika", Replacement:="Samoa - Amerikansk", LookAt:= _
        '                      xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        '                      ReplaceFormat:=False
    '
    '    Columns("B:B").Select
    '    Selection.Replace What:="Storbritanien og Nordirland", Replacement:="Storbritannien og Nordirland", LookAt:= _
        '                      xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        '                      ReplaceFormat:=False
    Sheets("OversigtsArk").Select





    '  ActiveWorkbook.RefreshAll
    ActiveWorkbook.RefreshAll

    Range("B5").Select
    '    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Style = "Percent"

    Range("A6").Select
    ActiveSheet.PivotTables("Pivottabel2").PivotFields("Land med diff rabat"). _
            AutoSort xlDescending, "Sum af Rabat"

    Sheets("PivTS").Visible = False
    Sheets("DataKonvertering").Visible = False
    Sheets("PivDiff").Visible = False
    Sheets("BruttoLandeOgPriser").Visible = False
    Sheets("TB Omkostninger").Visible = False
    Application.ScreenUpdating = True
    Range("B4").Select

End Sub
Avatar billede sism Nybegynder
17. oktober 2010 - 21:09 #6
Tak skal du have.
Jeg er gpet en anden vej, som måske virker med mit.
KAn du måske hjælpe mig her?
http://spreadsheetpage.com/index.php/file/progress_indicator_demo/
Jeg har brug for at sætte min makro ind i følgende:

Sub Main()
'  Inserts random numbers on the active worksheet
    Dim Counter As Integer
    Dim RowMax As Integer, ColMax As Integer
    Dim r As Integer, c As Integer
    Dim PctDone As Single
   
    If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
    Cells.Clear
    Application.ScreenUpdating = False
    Counter = 1
    RowMax = 100
    ColMax = 25
    For r = 1 To RowMax
        For c = 1 To ColMax
            Cells(r, c) = Int(Rnd * 1000)
            Counter = Counter + 1
        Next c
        PctDone = Counter / (RowMax * ColMax)
        With UserForm1
            .FrameProgress.Caption = Format(PctDone, "0%")
            .LabelProgress.Width = PctDone * (.FrameProgress.Width - 10)
        End With
'      The DoEvents statement is responsible for the form updating
        DoEvents
    Next r
    Unload UserForm1
End Sub

Hvor jeg skal have pillet eksemplet ud hvor den fylder tilfældige tal i cellerne, og erstattet det med min makro.
Avatar billede kabbak Professor
28. oktober 2010 - 20:32 #7
Problemet, er at du i din makro ikke har nogen tællere, man kan udregne efter, så jeg kan ikke se hvordan du kan få din progressbar / % til at virke ;-((
Avatar billede sism Nybegynder
28. oktober 2010 - 21:40 #8
Hej Kabbak!

Tak for dine forsøg.

Hvis du kommer med et svar får du points.

§;o) Søren
Avatar billede kabbak Professor
28. oktober 2010 - 22:32 #9
Tag point selv.

Man kan ikke lave en progressbar eller vise i %, når man ikke kender sluttallet og eller kan måle hvor langt man er kommet.
Avatar billede sism Nybegynder
14. januar 2011 - 08:59 #10
Lukket, men ville gerne have givet kabbak points for forsøget, Tak kabbak §;o)
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