投稿者 魔界の仮面弁士  (社会人) 投稿日時 2023/6/21 16:14:44
> Excel(2016)のセルA1~A100をコピーしてDataGridViewのセル貼り付けてそれをテキストボックスに記入する方法を教えてください。

プログラムから、直接 .xlsx ファイルを読み取る方法もありますが、
今回はクリップボード経由で操作したいのですね?

書式等は不要で、セル値だけ得られれば良いのでしょうから、
このように書けば OK です。
Dim data As String = Clipboard.GetText()


これにより、選択範囲の内容が文字列として得られます。
列の区切りは タブ文字
行の区切りは CrLf です。

Dim rows() As String = data.Split(ControlChars.Tab)
For Each row As String In rows
  Dim cells() As String = Split(row, vbCrLf)
  For Each cell As String In cells
    Dim text As String = cell

  Next
Next


このようにして、個々のセルのデータにアクセスできます。

なお、セル内改行がある場合は、Lf が使われます。
また、改行を含むセルは「"」で囲まれた文字列になります。

セル内に「"」があった場合も「"」で囲まれます。その場合、元の「"」は「""」と連記されるので
それらを復元する処理も必要になってきます。

  For Each cell As String In cells
    Dim text As String = cell

    '「"」で始まる文字列だった場合は 
    If text.StartsWith(""""Then
        '先頭の「"」と末尾の「"」を取り除き、 
        text = text.Substring(1, text.Length - 2)
        'さらに文字列中の「""」を「"」に置換します。 
        text = text.Replace("""""""""")
    End If


  Next


切り出した文字列は、必要に応じて二次元配列やジャグ配列などに
詰め直しておくと便利かもしれません。



> DataGridViewのセル貼り付けてそれをテキストボックスに記入する方法を教えてください。
ん? DataGridView に表示したいのですか?
TextBox に表示したいのですか?


まぁいずれにせよ、上記のようにして切り出した文字列を
DataGridView の任意のセルあるいは TextBox の Text プロパティに
セットしてやれば、目的を果たせるかと思いますよ。