Hi to everyone.
Currently I am using the following programme in workbook1
Dim Seconds As long
Dim Minutes As long
Dim CurrentRow As long
Dim CurrentColumn As long
Dim Initalised As Boolean
Private Sub Recalc()
If (CurrentRow <> 0 And CurrentColumn <> 0) Then
Cells(CurrentRow, CurrentColumn).Value = Format(Now, "dd/mm/yy")
Cells(CurrentRow, CurrentColumn+1).Value = Format(Time, "hh:mm:ss AM/PM")
Seconds = Seconds + 1
If (Seconds = 60) Then
Minutes = Minutes + 1
CurrentRow = CurrentRow + 1
Seconds = 0
End If
' Stop repeating after 24 hours (1440 minutes)
If (Minutes < 1440) Then
Call SetTime
Else
Initalised = False
End If
End If
End Sub
Sub SetTime()
If (Not Initalised) Then
Initalised = True
' Initialise variables.
Seconds = 0
Minutes = 0
CurrentRow = ActiveCell.Row
CurrentColumn = ActiveCell.Column
End If
SchedRecalc = Now + TimeValue("00:00:01")
Application.OnTime SchedRecalc, "Recalc"
End Sub
The result of the above will be shown in Cells A1 and B1 all the way to Cells A1440 and B1440.
Cell C1 will have for example as 00:00:00 (Time). Cell C2 will be 00:01:00 and so on until Cell C1440.
Cell D1 will have formula IF(B1=C1,1,"") and continue all the way to Cell D1440.
Cell E1 will have the formula VALUE(D1) and continue all the way to Cell E1440.
Workbook 2 has the following programme.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Then Exit Sub
Cells(Target.Row, 3) = Evaluate("=IF(B" & Target.Row & "=1,RANDBETWEEN(0,9),"""")")
End Sub
In workbook2 Cell A1 will have cut & paste with link from workbook1 Cell E1. This continue till Cell A1440.
Cell B1 in workbook2 will have a formula IF(A1=1,1,""). This will continue till Cell B1440.
Cell C1 in workbook2 suppose to show the result of VBA programme that is IF(B1=1,RANDBETWEEN(0,9),"")
When Cell E1 in workbook shows no.1, it will be automatically reflected in Cell A1 of workbook2 because of the link.
The problem is, I am not getting the RANDBETWEEN(0,9) in Cell C1 of workbook 2.
Even if I key in no.1 manually in Cell E1 in workbook1, I am not getting the result in Cell C1 of the workbook2.
When I key in no.1 in Cell A1 in workbook 2 manually, only then I will get the result in Cell C1 of the workbook2.
Can someone solve this problem for me?
I could not run two different macros properly when I run in the same workbook but in different sheets. Even if I open a new page within the same workbook, the clock is being affected.
Therefore, I have to run this programme in TWO different workbooks. The clock has to be in a workbook on it's own without being affected.
Thinking in advance.