Moderator: 2020vision
by mak » Sun Mar 28, 2010 10:03 am
by osknows » Mon Mar 29, 2010 1:33 pm
Private Sub Workbook_Open()
Application.OnTime TimeValue("05:00:00"), "loadQuickPickList"
StartTimer ' Reschedule the procedure
End Sub
Option Explicit
Private Sub Workbook_Open()
Application.OnTime TimeValue("05:00:00"), "loadQuickPickList"
StartTimer ' Reschedule the procedure
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Columns.Count = 16 Then
Application.EnableEvents = False
If triggerQuickPickListReload Then
triggerQuickPickListReload = False
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -3.1
triggerFirstMarketSelect = True
Else
If triggerFirstMarketSelect Then
triggerFirstMarketSelect = False
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -5
End If
End If
Application.EnableEvents = True
End If
End Sub
Public triggerQuickPickListReload As Boolean
Public triggerFirstMarketSelect As Boolean
Public Sub loadQuickPickList()
triggerQuickPickListReload = True
Application.OnTime TimeValue("05:00:00"), "loadQuickPickList"
End Sub
---------------
Public RunWhen As Date
Public Const cRunIntervalSeconds = 20 'adjust to the time you wish
Public Const cRunWhat = "TheSub"
Sub StartTimer()
RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, _
Schedule:=True
End Sub
Sub TheSub()
Application.EnableEvents = False
Dim ws As Worksheet
For Each ws In Worksheets
If Left(LCase(ws.Name), 6) = "market" Then
ws.Cells(2, 17).Value = -1
End If
Next
StartTimer ' Reschedule the procedure
Application.EnableEvents = True
End Sub
by mak » Mon Mar 29, 2010 2:11 pm
by osknows » Mon Mar 29, 2010 4:48 pm
by mak » Mon Mar 29, 2010 5:03 pm
by osknows » Tue Mar 30, 2010 10:56 am
Option Explicit
Public triggerQuickPickListReload As Boolean
Public triggerFirstMarketSelect As Boolean
Public lastrace As String
Public eventtriggertimer As Date
Const triggerduration As Integer = 20 'trigger every 20 minutes
Const timebeforeevent As Integer = 20 'monitor event only 20 minutes before start
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Columns.Count = 16 Then
Application.EnableEvents = False
'reset timer on event change
If lastrace <> ThisWorkbook.Sheets(Target.Worksheet.Name).Range("A1").Value Then
eventtriggertimer = CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)
lastrace = ThisWorkbook.Sheets(Target.Worksheet.Name).Range("A1").Value
Application.OnTime TimeValue("05:00:00"), "loadQuickPickList"
End If
'check if time is in play & negative
If InStr(1, ThisWorkbook.Sheets(Target.Worksheet.Name).Range("D2").Value, "-", vbTextCompare) = 1 Then
If DateDiff("s", CDate(eventtriggertimer), CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)) >= triggerduration * 60 Then
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -1
eventtriggertimer = CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)
End If
Else
'check for 25 minutes before first event
If DateDiff("s", 0, ThisWorkbook.Sheets(Target.Worksheet.Name).Range("D2").Value) <= timebeforeevent * 60 Then
If DateDiff("s", CDate(eventtriggertimer), CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)) >= triggerduration * 60 Then
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -1
eventtriggertimer = CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)
End If
End If
End If
If triggerQuickPickListReload Then
triggerQuickPickListReload = False
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -3.1
triggerFirstMarketSelect = True
Else
If triggerFirstMarketSelect Then
triggerFirstMarketSelect = False
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -5
End If
End If
Application.EnableEvents = True
End If
End Sub
Private Sub loadQuickPickList()
triggerQuickPickListReload = True
Application.OnTime TimeValue("05:00:00"), "loadQuickPickList"
End Sub
by mak » Tue Mar 30, 2010 11:06 am
by osknows » Tue Mar 30, 2010 11:30 am
Option Explicit
Public triggerQuickPickListReload As Boolean
Public triggerFirstMarketSelect As Boolean
Private Sub Workbook_Open()
Application.OnTime TimeValue("05:00:00"), "loadQuickPickList"
End Sub
Public Sub loadQuickPickList()
triggerQuickPickListReload = True
Application.OnTime TimeValue("05:00:00"), "loadQuickPickList"
End Sub
Option Explicit
Public lastrace As String
Public eventtriggertimer As Date
Dim ws As Worksheet
Const triggerduration As Integer = 20 'trigger every 20 minutes
Const timebeforeevent As Integer = 20 'monitor event only 20 minutes before start
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Columns.Count = 16 Then
Application.EnableEvents = False
'reset timer on event change
If lastrace <> ThisWorkbook.Sheets(Target.Worksheet.Name).Range("A1").Value Then
eventtriggertimer = CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)
lastrace = ThisWorkbook.Sheets(Target.Worksheet.Name).Range("A1").Value
End If
'check if time is in play & negative
If InStr(1, ThisWorkbook.Sheets(Target.Worksheet.Name).Range("D2").Value, "-", vbTextCompare) = 1 Then
If DateDiff("s", CDate(eventtriggertimer), CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)) >= triggerduration * 60 Then
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -1
eventtriggertimer = CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)
End If
Else
'check for 20 minutes before first event
If DateDiff("s", 0, ThisWorkbook.Sheets(Target.Worksheet.Name).Range("D2").Value) <= timebeforeevent * 60 Then
If DateDiff("s", CDate(eventtriggertimer), CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)) >= triggerduration * 60 Then
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -1
eventtriggertimer = CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)
End If
End If
End If
If triggerQuickPickListReload Then
triggerQuickPickListReload = False
For Each ws In Worksheets
If Left(LCase(ws.Name), 6) = "market" Then
ws.Range("Q2").Value = -3.1
End If
Next
triggerFirstMarketSelect = True
Else
If triggerFirstMarketSelect Then
triggerFirstMarketSelect = False
For Each ws In Worksheets
If Left(LCase(ws.Name), 6) = "market" Then
ws.Range("Q2").Value = -3.1
End If
Next
End If
End If
Application.EnableEvents = True
End If
End Sub
by osknows » Tue Mar 30, 2010 11:32 am
by osknows » Tue Mar 30, 2010 12:14 pm
Option Explicit
'set to number of worksheets in workbook
Public triggerQuickPickListReload(1 To 10) As Boolean
Public triggerFirstMarketSelect(1 To 10) As Boolean
Private Sub Workbook_Open()
Application.OnTime TimeValue("05:00:00"), "loadQuickPickList"
End Sub
Public Sub loadQuickPickList()
Dim count_array As Integer
For count_array = 1 To UBound(triggerQuickPickListReload)
triggerQuickPickListReload(count_array) = True
Next
Application.OnTime TimeValue("05:00:00"), "loadQuickPickList"
End Sub
Option Explicit
Public lastrace As String
Public eventtriggertimer As Date
Dim ws As Worksheet
Const triggerduration As Integer = 20 'trigger every 20 minutes
Const timebeforeevent As Integer = 20 'monitor event only 20 minutes before start
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Columns.count = 16 Then
Application.EnableEvents = False
'reset timer on event change
If lastrace <> ThisWorkbook.Sheets(Target.Worksheet.Name).Range("A1").Value Then
eventtriggertimer = CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)
lastrace = ThisWorkbook.Sheets(Target.Worksheet.Name).Range("A1").Value
End If
'check if time is in play & negative
If InStr(1, ThisWorkbook.Sheets(Target.Worksheet.Name).Range("D2").Value, "-", vbTextCompare) = 1 Then
If DateDiff("s", CDate(eventtriggertimer), CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)) >= triggerduration * 60 Then
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -1
eventtriggertimer = CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)
End If
Else
'check for 20 minutes before first event
If DateDiff("s", 0, ThisWorkbook.Sheets(Target.Worksheet.Name).Range("D2").Value) <= timebeforeevent * 60 Then
If DateDiff("s", CDate(eventtriggertimer), CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)) >= triggerduration * 60 Then
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -1
eventtriggertimer = CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)
End If
End If
End If
If triggerQuickPickListReload(Target.Worksheet.Index) Then
triggerQuickPickListReload(Target.Worksheet.Index) = False
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -3.1
triggerFirstMarketSelect(Target.Worksheet.Index) = True
Else
If triggerFirstMarketSelect(Target.Worksheet.Index) Then
triggerFirstMarketSelect(Target.Worksheet.Index) = False
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -5
End If
End If
Application.EnableEvents = True
End If
End Sub
by mak » Tue Mar 30, 2010 12:48 pm
by osknows » Tue Mar 30, 2010 7:20 pm
Option Explicit
'set to number of worksheets in workbook
Public triggerQuickPickListReload(1 To 10) As Boolean
Public triggerFirstMarketSelect(1 To 10) As Boolean
Private Sub Workbook_Open()
Application.OnTime TimeValue("05:00:00"), "loadQuickPickList"
End Sub
Public Sub loadQuickPickList()
Dim count_array As Integer
For count_array = 1 To UBound(triggerQuickPickListReload)
triggerQuickPickListReload(count_array) = True
Next
Application.OnTime TimeValue("05:00:00"), "loadQuickPickList"
End Sub
Option Explicit
Public lastrace As String
Public eventtriggertimer As Date
Dim ws As Worksheet
Const triggerduration As Integer = 20 'trigger every 20 minutes
Const timebeforeevent As Integer = 20 'monitor event only 20 minutes before start
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
'reset timer on event change
If lastrace <> ThisWorkbook.Sheets(Target.Worksheet.Name).Range("A1").Value Then
eventtriggertimer = CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)
lastrace = ThisWorkbook.Sheets(Target.Worksheet.Name).Range("A1").Value
End If
'check if time is in play & negative
If InStr(1, ThisWorkbook.Sheets(Target.Worksheet.Name).Range("D2").Value, "-", vbTextCompare) = 1 Then
If DateDiff("s", CDate(eventtriggertimer), CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)) >= triggerduration * 60 Then
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -1
eventtriggertimer = CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)
End If
Else
'check for 20 minutes before first event
If DateDiff("s", 0, ThisWorkbook.Sheets(Target.Worksheet.Name).Range("D2").Value) <= timebeforeevent * 60 Then
If DateDiff("s", CDate(eventtriggertimer), CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)) >= triggerduration * 60 Then
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -1
eventtriggertimer = CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)
End If
Else
eventtriggertimer = CDate(ThisWorkbook.Sheets(Target.Worksheet.Name).Range("B2").Value)
End If
End If
If triggerQuickPickListReload(Target.Worksheet.Index) Then
triggerQuickPickListReload(Target.Worksheet.Index) = False
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -3.1
triggerFirstMarketSelect(Target.Worksheet.Index) = True
Else
If triggerFirstMarketSelect(Target.Worksheet.Index) Then
triggerFirstMarketSelect(Target.Worksheet.Index) = False
ThisWorkbook.Sheets(Target.Worksheet.Name).Range("Q2").Value = -5
End If
End If
Application.EnableEvents = True
End Sub
by mak » Tue Mar 30, 2010 8:08 pm
by osknows » Tue Mar 30, 2010 8:29 pm
The strength of Gruss Software is that it’s been designed by one of you, a frustrated sports punter, and then developed by listening to dozens of like-minded enthusiasts.
Gruss is owned and run by brothers Gary and Mark Russell. Gary discovered Betfair in 2004 and soon realised that using bespoke software to place bets was much more efficient than merely placing them through the website.
Gary built his own software and then enhanced its features after trialling it through other Betfair users and reacting to their improvement ideas, something that still happens today.
He started making a small monthly charge so he could work on it full-time and then recruited Mark to help develop the products and Gruss Software was born.
We think it’s the best of its kind and so do a lot of our customers. But you can never stand still in this game and we’ll continue to improve the software if any more great ideas emerge.