PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelhitta 50 / 50 enkelthitta 50 / 50 enkelt
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2023-05-18 09:19
 
 Ändrad av Gondi  på 2023-05-18 08:21:47

Nu ska vi lägga in knappen.

Med utvecklare-menyn vald, välj infoga ActiveX-kommandoknapp.

Du kommer nu få ett kors med vilket med hjälp av musen kan skapa knappen i den storlek du vill ha den.

Högerklicka sen på knappen och välj ”Egenskaper”. Då får du upp följande fönster för knappen där du kan göra olika inställningar. Så här ser mina inställningar ut.

Vi fortsätter med nästa del när du kommit så här långt och har en knapp som du ”gillar” i arket.

Nytt inlägg
 2023-05-18 09:27
 

 Fixat en fin knapp nu :)

Nytt inlägg
 2023-05-18 09:52
 

Då kör vi vidare.

Fortfarande i ”Designläget”, högerklicka på knappen och välj ”Visa kod”.

Då kommer Visual Basic Editorn upp. Den kan man också öppna manuellt med Alt+F11.

Skriv in "Call Update" som jag gjort i ovan skärmdump.

Dubbelklicka sedan på Module1 i det vänstra fönstret - jag har döpt om min modul till ”modMain” – då öppnas kodfönstret upp för den modulen.

Klistra in följande kod.

Sub Update() 

 

Dim tS As ListObject

Dim tV As ListObject

Dim tSV As ListObject

Dim arr As Variant

Dim i As Integer

 

 ' Set Excel calculation mode to manual

Application.Calculation = xlCalculationManual

 

Set tS = Range("tS").ListObject

Set tV = Range("tV").ListObject

Set tSV = Range("tSV").ListObject

 

With tS.ListRows(1).Range

    For i = 1 To 12

        If .Cells(, i) = "" Then .Cells(, i) = "=fT"

    Next i

End With

 

With tV.ListRows(1).Range

    If .Cells(, 1) = "" Then .Cells(, 1) = "=fV"

End With

 

arr = Range("tV[Vikt]").ListObject.DataBodyRange

Range("tSV[Sorterad vikt]").ListObject.DataBodyRange = arr

 

tSV.Sort.SortFields.Clear

 

tSV.Sort.SortFields.Add Key:= _

    Range("tSV[Sorterad vikt]"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _

    xlSortNormal

 

With tSV.Sort

    .Header = xlYes

    .MatchCase = False

    .Orientation = xlTopToBottom

    .SortMethod = xlPinYin

    .Apply

End With

 

With tV.ListRows(1).Range

    If .Cells(, 2) = "" Then .Cells(, 2) = "=fS"

End With

 

' Go "home"

Range("A1").Select

 

' Set Excel calculation mode to automatic

Application.Calculation = xlCalculationAutomatic

 

End Sub

 

Nu kan du stänga Visual Basic editorn, radera allt innehåll i samtliga tre tabeller, spara filen och testköra knappen.

Funkar allt som det ska har du nu ett fullt fungerande ”Stryktipssystem”.

 

Nytt inlägg
 2023-05-18 10:10
 

 Nu gick det nog för fort, för det funkar såklart inte.

Misstänker att den text som blev röd är den som inte blev rätt

tSV.Sort.SortFields.Add Key:= _

 

    Range("tSV[Sorterad vikt]"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _

Eller var blev det fel ?

Hos mig står det inte option explicit längst upp om det gör någon skillnad ?

Nytt inlägg
 2023-05-18 10:16
 

Det blev kanske fel med radbrytningarna eftersom jag kopierade via Word.

Underscoretecknet (_) betyder fortsätt på nästa rad. enbart där för ökad läsbarhet.

så detta;

tSV.Sort.SortFields.Add Key:= _

    Range("tSV[Sorterad vikt]"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _

    xlSortNormal

är samma som detta;

tSV.Sort.SortFields.Add Key:= Range("tSV[Sorterad vikt]"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal

Testa att skriv allt på en rad utan underscore (_)

 

 

Nytt inlägg
 2023-05-18 10:46
 

Jomenvisst, grymt coolt :)

Var ju tvungen att kolla om det stämmer och såklart det gör, är det ett stort jobb att kunna få ut "rätt svar" för samtliga tipstecken och då vill man ju kunna sätta individuella vikt% eftersom man ser ju ett visst mönster som man vill kunna köra, blir ju lite meckigt att ha 39 filer öppna samtidigt eftersom man behöver uppdatera streckfördelningen så sent som möjligt då allt bygger på hur spelarna uppfattar omgångens svårighetsgrad och därav var man behöver lägga de individuella vikt%.

 

Nytt inlägg
 2023-05-18 10:53
 

Perfekt!

Är inte riktigt med på hur du menar. Nu har vi analyserat "Match 1" som har procentsatserna 43-31-26. Vill du göra "samma sak" med de övriga 12 matchern valda, eller hur menar du?

Är det ovan du vill åstadkomma kan du ju bara kopiera arbetsbladet 12 gånger - eftersom mallen inte är så stor ;-) - och sen skapa en sammanställning på en 13:e sida där du översätter procentsatserna till tipstecken, etc.

Jag ska iväg på kryssning så jag måste gå om 20 minuter.

Nytt inlägg
 2023-05-18 11:11
 

 Ja, typ nåt sånt, låt säga att jag skulle vilja sätta olika vikt% på alla 39 tipstecken som finns på en stryktipsomgång för att få fram 39 olika radnummer osv. 

Jag tänker att man kanske inte skulle behöva uppdatera 39 gånger, ha 39 olika flikar då det kanske tar en stund att köra.

Åh, kryssning, det var längesedan man var på, vart bär det av någonstans ?

Ha en trevlig resa, tänk på "stackars" mig som får sitta och göra det jag vill idag när jag är ledig :)

Nytt inlägg
 2023-05-18 11:32
 
 Ändrad av Gondi  på 2023-05-18 10:39:13

Jag ska till Åland på schlagerkryssning. :-)

Eftersom det är procentsatsern som är "hjärtat" i lösningen måste man ju beräkna nya viktvärden i alla matcher så fort man ändrar en procentsats.

Det är där algoritmen jag klurar på kommer in i bilden. Men den finns ej ännu.

Matchen man "valt" behöver ju inte ingå enligt tidigare analys.

Däremot måste man beräkna fram nya värden för övriga 12 * 3 = 36 tipstecken.

36 arbetsblad • 10 sekunder per blad - eller vad det tar på din "elefant" - är ju inte hela världen.

Man kan göra det helt i VBA också. Då går det betydligt fortare.

Nytt inlägg
 2023-05-18 12:20
 

Åh, Åland, dit är jag iofs varje sommar men inte på kryssning längre utan för att jag har svärföräldrarna boendes där på olika håll, fint som tusan där.

Jo, den valda matchen är ju redan vald kan man säga, och har man samma vikt% på alla 3 tipstecknen i den egna matchen så blir det samma radantal men vill man istället använda sig av olika, t.ex. 75% för den mest streckade och 50% för näst mest streckade och t.ex. 25% för minst streckade så blir också radantalen osv. olika, därav skulle man behöva ha 13 * 3 flikar, mallar, knappar och det känns som excel kanske integillar att man fyller så många flikar till slut.

Jag får testa om det ens kan bli som jag tänkt mig, dock har jag en annan matematisk ide' jag behöver backtracka för att se om det kan vara något.

Ha en skön trip så höres vi när du kommit hem :)

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelhitta 50 / 50 enkelthitta 50 / 50 enkelt

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter