After looking at your code I dont think that the DDE connection is the problem. The problem is how your VB code is written. Your index reference was in the wrong position. You also only need to get the data from the array of REALS. Your For loop should look like this: For i = 0 To 1 'First the array of REALs 'Get the value form the DDE link realdata = DDERequest(rslinx, "CURRENT_PART.CELL_B_SHUTTLE_POINTS[" & i & "].Position,L1,C1") 'If there is an error, display a message box If TypeName(data) = "Error" Then If MsgBox("Error reading tag CURRENT_PART.CELL_B_SHUTTLE_POINTS[" & i & "].POSITION" & _ "Continue with Read?", vbYesNo + vbExclamation, _ "Error") = vbNo Then Exit For Else 'No error, place data in cell Cells(2 + i, 4) = realdata End If Next i The rest of the code should be the same and this should give you the correct data. Gene