Here is some code you can try. It is a sample that handles ClipboardPaste to avoid copying hidden columns. You can probably use it as is, or you can remove the hidden column checks.
FYI - here is a web link that does a reasonable job of converting C# to VB. http://authors.aspalliance.com/aldotnet/examples/translate.aspx
Private Sub gridControl1_ClipboardCopy(sender As Object, e As GridCutPasteEventArgs)
Dim range As GridRangeInfo = e.RangeList.ActiveRange
If Not range.IsEmpty Then
range = range.ExpandRange(1, 1, Me.gridControl1.RowCount, Me.gridControl1.ColCount)
Dim s As String = ""
Dim data As GridData = Me.gridControl1.Data
Dim row As Integer
While row <= range.Bottom
If Not Me.gridControl1.Rows.Hidden(row) Then
Dim firstCol As Boolean = True
Dim col As Integer
While col <= range.Right
If Not Me.gridControl1.Cols.Hidden(col) Then
If Not firstCol Then
s += ControlChars.Tab
Else
firstCol = False
End If
Dim style As New GridStyleInfo(data(row, col))
s += style.Text
End If
End While
s += Environment.NewLine
End If
End While
Clipboard.SetDataObject(s)
e.Handled = True
End If
End Sub ''gridControl1_ClipboardCopy