For starters, you shouldn't be using Shared for this - it's a bad idea.
Instead, you should create a property in your frmMonitorHeartRate which your frmViewAllData uses to pass the source DataTable to it (assuming that the frmMonitorHeartRate instance is created by frmViewAllData, which you don't show).
Then in the frmViewAllData timer, you can peruse the DataTable (by using a For Each on the Rows property, and accessing each rows Cell(indexOfDataColumnYouAreIntestedIn) to get the two data items you need for your chart - the X and Y values - and display them in your chosen Chart.
Sounds complicated? It isn't, not really. It's just a case of getting your head around how things work!
Have a look at these.
The form that creates an instance of another:
MyForm mf = new MyForm();
mf.Show();
Is the "parent", the other form is the "child".
(This doesn't imply any formal MDI relationship)
Transferring information between two forms, Part 1: Parent to Child[
^]
Transferring information between two forms, Part 2: Child to Parent[
^]
Transferring information between two forms, Part 3: Child to Child[
^]
The code is in C#, but it's pretty obvious, and
Code Converter C# to VB and VB to C# – Telerik[
^] will convert anything you can't cope with.
You should only need the first one, but since I have no idea how your app works, it's possible the other two will help as well.