I am trying to retrieve data from a rs232 device. I want to change this code to put my data into column B not A

Also I want to add a line, so that the code won't run if the previous row has the A column empty (even though B , C, D might have data.


Sub GetSWData()

   Dim R As Long
   Dim X As Long
   Dim Chan As Long
   Dim NumFields As Long
   Dim vDat As Variant
   Dim sDat As String

   ' find the next empty row in Column A
   R = ThisWorkbook.Sheets("DDE").Cells(65000, 1).End(xlUp).Row + 1
     
   ' Establish DDE link to WinWedge on Com1
   Chan = DDEInitiate("WinWedge", "Com3")

   ' How many data fields are we retrieving from WinWedge?
   NumFields = 1

   ' Loop through all data fields defined in the Wedge :
   For X = 1 To NumFields

      ' Request the data from each field in the wedge
      vDat = DDERequest(Chan, "Field(" & CStr(X) & ")")

      ' Convert the data from a variant array data type to a string
      sDat = vDat(1)


      ' Place the data in cell location Row = R, Column = X
      ThisWorkbook.Sheets("DDE").Cells(R, X).Value = sDat
     
   Next
    
  
   DDETerminate Chan ' Close the DDE channel

   ' Insert a date/time stamp in the sheet in the same row as the data
   ThisWorkbook.Sheets("DDE").Cells(R, NumFields + 3).Value = Now

End Sub