投稿者 魔界の仮面弁士  (社会人) 投稿日時 2019/9/27 09:15:35
> dt.Colums.Add(entry2.key)
> の1行は必要と理解してよろしいでしょうか?

はい。Columns.Add は必ず必要です。

2019/8/14 09:38:11 の投稿で言えば、最後の (案2) のところに書かれた、
『Columns.Add するようにする』と書いたのがそれに当たりますし、
2019/8/13 21:39:08 の投稿で言えば、下記の箇所に当たります。

Dim gDay As String = CStr(row("業務完了日"))   '元データが日付型の場合は Format して取得すること 
'(中略) 
If Not dt.Columns.Contains(gDay) Then
    '未登録の列見出しを追加  
    dt.Columns.Add(gDay, GetType(String)).AllowDBNull = True
End If


既に登録済みのキーを再追加するわけには行かないので、
2019/8/13 21:39:08 の実装例では Contains を併用したコードとしています。
2019/8/14 09:38:11 のように、列見出しの一覧(昇順)を一意に取得しておく方法を
採用する場合には、Contains 判定を行う必要はありません。