データテーブルからデータテーブルへのはめ込みについて

初心者でプログラムを作成しています。
相変わらず固い考え方しかできず、行き詰っています。

月あたりで使用した時間の抽出を行ってエクセルに書き込みたいです。
データテーブルが2つ用意されており、
データテーブルAはあらかじめ準備したエクセルから抽出したデータで
横軸に「年月(可変)」、縦軸に「項目」が並んでいます。
データテーブルBはシステムからダウンロードしたCSVファイルから
必要な列「年月」「項目」「使用時間」を残したものです。

データテーブルBのデータを参照し、
データテーブルAの該当する番地にはめ込んでいきたいです。
皆さんの過去の質問から、ディクショナリー型?が使えそうではありますが、
もっと簡単な組み方があれば教えて頂きたいです。
現状は繰り返し各行で組んで何回もエラーが出てるので
並行してここで相談させていただきました。

こんにちは

何をもって簡単かという点はありますが、実装例としてDictionary<String,Int32>
つかったケースを共有します。(ある意味この方法がシンプルに実装できるのではと思います)

dict = dtA.AsEnumerable.ToDictionary(Function(r) r(0).ToString,Function(r) dtA.Rows.IndexOf(r))

ループの中身は

month = Int32.Parse(row("年月").ToString.Substring(4,2))

dtA.Rows(dict(row("項目").ToString))(month) = row("使用時間").ToString

です。

Dictionaryへの詰め込みはLINQを使っていますが、ForEachRowで詰め込んでも同じことができます。

YOICHIさん

こんにちは。気づくの遅くなってすいません。

あれから悩みながら
繰り返し各行のみでなんとかやり切れました。

やはりディクショナリー型が有効なんですね。
YOICHIさんのケースを保存させて頂きました。
後ほど噛みしめながら学習したいと思います。

ありがとうございました。
また、つまづいたらここで質問させて頂きます。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.