Forum Discussion
Creating a time delayed answer
Hello ...
This may be wishful thinking but I would much appreciate being made aware of a solution if one exists.
I have created a dictionary of Welsh/English words and am using this to test myself as to the meaning of the former. For this purpose my spreadsheet has two adjacent columns as shown below.
In Column E the formula used is INDEX($A:$A,RANDBETWEEN(1,COUNTA($A:$A)),1) while the formula in Column G is INDEX($C$6:$C$600,MATCH($E$2,$A$6:$A$600,0)). Is there a way in which the answer displayed in Column G can be delayed by, say, 30 seconds.
Would appreciate any recommendations and thanks in advance.
Regards
James Clancy
Here is the example file with the code and how it is used.
It's just a trick in which you can create a time delay.
It could possibly also be displayed with a formula in which other calculations are carried out between input and output (in simple terms), but the circular reference errors, as well as other possible errors, would prevent me from doing so. But that's just my humble opinion:)).
I would be happy to know if I could help.
Nikolino
I know I don't know anything (Socrates)
* Kindly Mark and Vote any reply if it helps please, as it will be beneficial to more Community members reading here.
6 Replies
- PedroWaveBrass Contributor
Iriwel, it may be late but here is my workaround without macros and with iterative calculation. Yes, with the annoying circular references that we dislike so much if they are not properly controlled.
You can modify the number of seconds in cell I2.
You need to repeatedly press the F9 key to iteratively calculate the formulas.
Regards,
Pedro Wave
- IriwelCopper ContributorPedro ...
Many thanks for this very helpful solution. I'll try it out over the next few days alongside an earlier suggestion from NicolinoDE.
Also, thanks for the inclusion of additional vocabulary - that really impressed me.
Regards.
- NikolinoDEGold Contributor
Here is an approach to a solution with VBA.
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$G$2" Then Application.OnTime Now + TimeValue("00:00:03"), "Show" End If End Sub
Hope I was able to help you with this info.
NikolinoDE
Was the answer useful? Mark them as helpful!
This will help all forum participants.
- IriwelCopper ContributorHello ...
Many thanks for your prompt reply to my query. I loaded the VBA (Alt/F11) with your solution but, unfortunately, it doesn't seem to be behaving as it should. Am I missing a trick somewhere?
Regards.- NikolinoDEGold Contributor
Here is the example file with the code and how it is used.
It's just a trick in which you can create a time delay.
It could possibly also be displayed with a formula in which other calculations are carried out between input and output (in simple terms), but the circular reference errors, as well as other possible errors, would prevent me from doing so. But that's just my humble opinion:)).
I would be happy to know if I could help.
Nikolino
I know I don't know anything (Socrates)
* Kindly Mark and Vote any reply if it helps please, as it will be beneficial to more Community members reading here.