• 締切済み

エクセルの複数行にわたったデータの処理

名前、住所、注文商品等が入ったエクセルのデータから、納品書を印刷したくて困っています。 こんな感じ↓ 受注日 お名前   住所    商品   個数 12/1 山田太郎  東京都~  ワイン  1                 日本酒  2                    エクセルのデータの方が、商品を複数注文された方の場合、2行目が名前、住所等が空欄になり、商品、価格のみデータセルに入っています。 最初はアクセスに変換して納品書印刷と思っていたのですが、この注文商品2品目以降の、住所等が空欄になっている行の処理がうまくいきません。 この複数行のデータを、入力し直すことなしに納品書印刷できるものなのでしょうか? 連続印刷ができればアクセスにはこだわりません。 よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

A,B,C列にデータを補充するのなら、VBAで Sub test01() d = Range("D65536").End(xlUp).Row ' For i = 2 To d '2行目から最終行まで '1行上を取って代入 If Cells(i, "A") = "" Then Cells(i, "A") = Cells(i - 1, "A") If Cells(i, "B") = "" Then Cells(i, "B") = Cells(i - 1, "B") If Cells(i, "C") = "" Then Cells(i, "C") = Cells(i - 1, "C") Next i End Sub でできます。 手順は、シートをアクチブにして ALT+F11キー 挿入-標準モジュール 上記を貼り付け F5キー

noname#16437
noname#16437
回答No.1

まず、顧客データを作り、それぞれの顧客にIDをつけていきます。 データ1;(ID・お名前・住所・・・) そして、受注日のデータを作り、そこに顧客のIDと商品・個数を打ち込みます。 データ2;(ID・受注日・顧客ID・商品(ID)・個数・・・) 商品のデータを別に作っておくと データ3;(ID・商品名・価格・・・) 自動的に計算され、もっと便利になります。 エクセルでもできると思いますが これはアクセスが得意の分野です。 特にVBAのような言葉を使わなくてもできるので エクセルを使わないで、アクセスだけで作った方が良いように思います。

kuma58
質問者

補足

回答ありがとうございます。 質問が足りなくてすいません。。。 元エクセルデータの方は、外注先から送られているデータなので、これを変更してもらうことは無理なんです。そっちはリクエストしたのですが、断られました。 元データのテーブルの形はそのままで、アクセスに変換、もしくはエクセルのままで印刷できる方法があれば教えていただきたいです。 よろしくお願いします。

関連するQ&A