homer.simpson, eso que comentas ya lo pense, pero no se me ocurre como hacerlo.
Pero encontre una solución, solo os digo que en el foro de gruss software, hay versiones mas antiguas para descargar y .....
Printable View
homer.simpson, eso que comentas ya lo pense, pero no se me ocurre como hacerlo.
Pero encontre una solución, solo os digo que en el foro de gruss software, hay versiones mas antiguas para descargar y .....
Pues... SI!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LO HE CONSEGUIDO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Bueno, compartamos, que para eso está este foro...
A pesar de que se tiene que poder conseguir de una forma más sencilla y más ortodoxa (Funciones definidas por el usuario y meter dentro de ahí que ejecute una macro, por ejemplo, aunque no consigo que me salga), lo he conseguido haciendo lo siguiente.
Ejecuto la Macro1, en esta macro pongo una condición, de forma que si se cumple se ejecute la Macro2.
Si no se cumple la condición le digo que espere 1 segundo y vuelva a ejecutar la Macro1.
Para conseguir que espere ese segundo (o los que quieras) he encontrado por el ancho mundo de Internet lo siguiente:
Public Sub ESPERAR(S As Single)
'Para que espere 5 segundos es "ESPERAR 5", o si la mandás con Call es "Call ESPERAR(5)".
'Te hago notar la presencia de DoEvents dentro de la sub, que permite que se ejecute otro evento cualquiera del programa o de otros programas mientras está esperando. De otra forma la PC se "cuelga" hasta que pasa el tiempo estipulado.
Dim T1 As Single
T1 = Timer
Do While T1 + S > Timer
DoEvents
Loop
End Sub
Subo una hoja con un sencillo ejemplo de todo esto.
A partir de aquí, y con un poco de imaginación…
Jur, yo me quedé en lo de esperar un segundo, con eso perfecto ya se puede, copiar la linea que quieras cada 1 segundo y seguir leyendo las cuotas.
me bajo tu archivo ahora y lo miro, Gracias Homer!
Bueno, tengo un problema, cada segundo se copia la cuota en otra hoja del libro excel, pero el problema que tengo es que, para copiar pegar usando macros el código es algo así:
Con lo cual a cada segundo, ves como pasa a primer plano la hoja1, se seleciona la celda, la copia, se selecciona la hoja2, selecciona celda y la pega. Vale es lo que quiero, pero no quiero que se me activen en primer plano, es decir, me gustaría que eso se pudiera hacer en 'background' mientras yo estoy en la hoja1 o en la hoja2 o en la hoja300 pero que no me vaya cambiando las hojas todo el rato...Citar:
Sheets("Hoja1").Select
ActiveSheet.Range("B2").Select
Selection.Copy
Sheets("Hoja2").Select
ActiveSheet.Cells(i, "A").Select
ActiveSheet.Paste
¿Es posible hacer esto?
Perdona, es que últimamente estoy metiendo muchas horas con el amigo Excel y no leo tanto el foro como debiera...Citar:
Originalmente publicado por ranstad
Estoy trabajando más en automatizar trades, pero no obstante, si trabajas con valores en lugar de con selecciones se puede conseguir.
Yo tengo algo así:
If Sheets("x1").Range("A2").Value <> "" Then
Application.CutCopyMode = False
Sheets("H1").Rows("2:2").Insert Shift:=xlDown
Sheets("h1").Rows("2:2").Value = Sheets("x1").Rows("2:2").Value
End If
Lo que hago es:
En la hoja x1 tengo varios mercados (pongo todo un mercado en la misma línea, con todos los datos y me entran hasta 15 selecciones).
Si esa linea es distinto de "", entonces la celda A2 es = a 1
En la hoja h1 voy almacenando los datos cada segundo.
Ya en la macro:
Si la celda A2 de la hoja X1 es distinto de ""
Inserto una línea en la hoja h1 (Con esto consigo que me baje todo y me quede la fila 2 libre. De esta forma no tengo que recorrer todas las filas buscando una libre, con lo que ahorro tiempo cuando hay muchos datos)
Y finalmente le digo que esa nueva línea que he creado es igual a la línea 2 de la hoja x1, que es donde tengo los datos.
Con esto te permite "navegar" por las distintas hojas de excel, ya que la macro no selecciona ninguna celda ni hoja, pero en cuanto escribes algo en una celda y le das a Intro, se para la macro. No me preguntes por qué, que soy nuevo en esto de basic.
Saludos,
Homer
Si ya decía yo que tenía que haber una forma más "pofesiona" de conseguir los mismo...
Efectivamente, con esto creo que queda mucho mejor, y así además se comprueba instantáneamente y nos olvidamos del tiempo.
El código hay que ponerlo en la el objeto hoja, no en los módulos
Allá va:
Private Sub Worksheet_Calculate()
If Sheets("Hoja1").Range("A18").Value = 1 Then
Macro1
End If
End Sub
Para los más torpes (como yo, que hay que ver lo que me ha costado encontrar esto...) cuelgo una hoja de excel, en la que si se vincula en la Hoja1 con el programa del que hablamos, cuando la celda G1 (cantidad disponible al back) es mayor que 200 (o la cantidad que se ponga) lanza la Macro1 (que pone en la celda A21 "MAYOR QUE 200" y cuando es menor que 200 lanza la Macro2 que pone "menor que 200".
Ahora ya solo hay que determinar bajo que condiciones quieres que se ejecute y qué quieres que te haga cada macro.
Venga, que no os pienso dar todo hecho... a currárselo quien quiera...
Buenas, os adjunto un excel (de la versión 2007), para utilizar con el Betting Assistant. En la hoja uno te permite poner apuestas mediante botones y la hoja segunda te dice cuando hacer back y cuando lay. De momento alguna acierta, pero prefiero utilizar el ojimetro.
Un saludo