Самый быстрый способ получить доступ к содержимому DataGridView с именем dgv по известным индексам:
Dim o as Object = dgv.Rows(1).Cells(3).Value
Но что, если порядок столбцов изменился позже? Если вы знаете имена столбцов ваших столбцов, вы можете получить их индекс (DataGridViewColumns имеет свойство Index). Это позволяет избежать ошибок при перестановке столбцов в будущем. В этом случае вы также можете быть уверены в типе данных внутри этой ячейки, так что вы можете более безопасно привести ваш Value
объект к нужному типу:
Dim xMmIndex as Integer = xMmColumn.Index
Dim o as object = dgv.Rows(1).Cells(xMmIndex).Value
Dim xMm as Integer = Convert.ToInt32(o)
Когда столбцы были созданы, они были даны имена и типы столбцов. Вы можете найти или отредактировать их с помощью дизайнера на основе WinForms GUI, щелкнув маленькую стрелку в верхнем правом углу DataGridView, а затем «Редактировать столбцы»:

Если ваши столбцы не были названы, они по умолчанию имеют тип по умолчанию с номером после него, например, DataGridViewTextBoxColumn1 или NumericUpDownColumn2.
И я бы рекомендовал не жестко кодировать строку с индексом 1 либо; например, вы можете получить строку в цикле по свойству SelectedRows объекта DataGridView.