dポイントプレゼントキャンペーン実施中!

VBA初心者ですが、ツール作成中にどうしてもわからないことが出てきたので教えていただきたいです。

作っているツールは、外部データを読み込み入力規則に従いチェックを行い、NGとかぎりなくNGに近い要確認を別のシート・別の表にそれぞれ纏めるというもので、データにはユニークIDが振られているのでユニークID毎にセルを分けたいです。(ユニークID1つにNGが複数出ると仮定しています)

NGのパターンとしては、
半角(全角)入力指定の項目に全角(半角)の文字が使われている。
10桁と指定のある項目が10桁ではない。
ありえない日付が存在している。
等です。

データの読み込みと入力規則はなんとか出来たのですが、結果を表に纏めるところが出来ません。最終行を選択して表にしていくのであれば出来そうなのですがユニークID毎というところで特に引っかかっています。

稚拙な文章で読みづらくわかりづらいかとは思いますが、どなたかご教授お願いいたします。

質問者からの補足コメント

  • 言葉足らずですみません。
    外部データはExcelファイルで、ユニークID順に列毎にデータがまとめられています。

    NGデータはA列にユニークID、B列にNG理由を並べるものを作りたいです。
    よろしくお願いします。

      補足日時:2016/09/11 11:15

A 回答 (3件)

>外部データはExcelファイルで、ユニークID順に列毎にデータがまとめられています。


列毎は、行毎の書き間違いではないの

そうであれば、

1.一行毎に空白行を挿入する

2.エラーチェックを行いながらチェック結果をエラーの有ったセルの下のセルに書き出す。

3.エラーの有るデータと正常なデータに分けて、別々のシートに書き出す。


この方法で出来たシートが見やすいと思うけど
    • good
    • 0

こういう質問内容というのは、本来、VB系ではないとは思うのですが、VB系でも、それなりには解決策は用意されてはいます。



ただ、それはともかく、これは、プログラミングの世界の話ですから、データの種類が明示されなくてはなりません。

・対象は、テキスト一行ライン、コンマ(,) タブ(x09)、スペース(x20)ぐぎり、文字コード不明
・ユニークID に対して、項目に対する点数付け(その点数の付け方は明示されておらず)

仮に、
  半角(全角)入力指定の項目に全角(半角)の文字が使われている。(1)
  10桁と指定のある項目が10桁ではない。(2)
  ありえない日付が存在している。(3)

合計 5点で NGリストへ
大別すると、3種類の分類。問題なし(flawless), まあまあ(passive), NG(failure)
>B列にNG理由を並べるものを作りたいです。
これは、点数を入れればよいです。

>最終行を選択して表にしていくのであれば出来そうなのですがユニークID毎というところで特に引っかかっています

質問の要件に、大事な部分が抜けています。
インポートするファイルの種類と内容です。誰かのご質問のように、そのファイル種類をずっと明かさないままでは、結局、回答者は振り回されるだけになってしまいます。

ただ、VBAで、テキストライン(Stream)のインポートが可能で、区分けもできるレベルなら、その後ができないというのはなぜか良くわからないです。

しかし、もし、それだけの技術がないまら、一旦、Excelなどの表に全部貼り付けて、後は、アドバンスドフィルターで区分けして別のシートに送るという方法もあると思います。
    • good
    • 0

外部データのファイル形式や書式やレイアウトなどが判らないと具体的な提案は出来ません。


また別のシート・別の表のレイアウトは?
たとえばA列にユニークID、B列以降にエラー内容が続くイメージでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!