
いつもお世話になっています。
現在、顧客向けの帯封を作成するため、エクセルでデータを作成して、ワードで差し込み印刷をしています。この帯封はB4用紙1枚に4枚住所氏名を印字したあと裁断し顧客ひとりひとりの帯封を作成しています。顧客には1からの通しナンバー付番しています。
ところが現在は顧客が100名とした場合
1枚目の用紙 顧客001 顧客002 顧客003 顧客004
2枚目の用紙 顧客005 顧客006 顧客007 顧客008
3枚目の用紙 顧客009 顧客010 顧客011 顧客012
~
25枚目の用紙 顧客097 顧客098 顧客099 顧客100
となり、裁断した際には順番が1番目、5番目、9番目となってしまって大変不便です。ですので、裁断した段階で山で、顧客が正しく順番に並べ替えたいのです。同じようにデータ100件だとすると
1枚目の用紙 顧客001 顧客025 顧客051 顧客075
2枚目の用紙 顧客002 顧客026 顧客052 顧客076
3枚目の用紙 顧客003 顧客027 顧客053 顧客077
~
25枚目の用紙 顧客024 顧客050 顧客074 顧客100
というようにしたいのです。
顧客コード(1番から付番されてある)とデータ総数からこのように並べられるようにソートキーを顧客単位にあらたにふればよいと考え、いろいろ試行錯誤しているのですがわかりません。ぜひご教示いただきますようお願い申し上げます。
No.2ベストアンサー
- 回答日時:
現在
顧客001
顧客002
顧客003
・・・
と並んでいるデータを
顧客001
顧客0026
顧客0051
顧客0076
顧客002
顧客0027
・・・
と並び替えれば良いと云う事でしょうか。
一例ですが
空いている列に
0
1
2
・・・
99
と連番を入れる
その隣に
=MOD(Z1,25)*100+Z1
と入れて下までコピー
並び替えで、関数を入れた列で並び替えては如何でしょうか。
早速のご教示感謝します。
MODと1枚に出力する4件、そして総件数を使えばなんとかなるだろうとは
思っていたのですが、ちょっと難しく考えすぎていました。
これで、いままでの苦労がなんとか解消されそうです。
ありがとうございました。
No.3
- 回答日時:
要するに、25 行ごとに抜き出した形に並べ替える方法が分かればいいわけですね。
マクロを使わなくても、Excel の基本的な操作だけでできますよ。添付図のように、「通しナンバー」の昇順で並んでいるときに、「グループナンバー」として、C 列の最初の 25 行に 1, 2, ..., 25 と記入。C2:C26 のセル範囲をコピーして、その下の行に貼り付け。最後に、「グループナンバー」の昇順で表全体を並べ替えれば、お望みの順番になります。「通しナンバー」で並べ替えれば、元の順序に戻ります。

早速のご教示感謝します。
たしかにこれをやれば良いというのはわかっているのですが、実際の顧客件数は約2000件
ですので、手作業でいれるというのは難しいですね…
ありがとうござました。
No.1
- 回答日時:
お望みの形か分かりませんがVBAを使用してみました。
なお、並び替えた後の結果で示されている、
>1枚目の用紙 顧客001 顧客025 顧客051 顧客075
>25枚目の用紙 顧客024 顧客050 顧客074 顧客100
は、
1枚目の用紙 顧客001 顧客026 顧客051 顧客076
25枚目の用紙 顧客025 顧客050 顧客075 顧客100
の書き間違いと理解して進めます。
データはバックアップしたうえで試行ください。
元のデータがA1:D25に入っているとして、並び替えた結果がF1:I25に展開される
ようにしました。
1.Excel画面上で、Alt+F11 でVBE画面を開く
2.Alt+I、M で新規モジュールを開く(真っ白な画面が開きます)
3.そこに以下のコードをコピペ。
'------------------------------------------------
Sub aaaaaa()
Dim r As Integer, c As Integer
Dim j As Integer
Dim Kyak(99) As Variant
j = 0
For r = 1 To 25
For c = 1 To 4
Kyak(j) = Cells(r, c).Value
j = j + 1
Next c
Next r
j = 0
For c = 6 To 9
For r = 1 To 25
Cells(r, c).Value = Kyak(j)
j = j + 1
Next r
Next c
End Sub
'------------------------------------------------
4.エクセル画面に戻り、ALt+F8、「aaaaaa」を選択して実行。
早速のご教示、感謝します。
短時間にもかかわらずマクロのコードを書いて頂きありがとうございます。
お書き頂いた、マクロのコードについてどのルーチンがどのような働きをするのか
勉強させて頂きます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
顧客の敬称
-
受注先は「顧客」?
-
顧客への納品ファイルのファイ...
-
事務員にとっての顧客満足とは
-
下請け業者が直接顧客と取引し...
-
0120-899-543Amazonカスタマー...
-
SBI証券の経営層は操作画面(UI)...
-
前任者と比較されたら
-
なぜルートセールスはサボれますか
-
首席と主席どっちがエラい?
-
旦那がキャバクラに行っていま...
-
新卒コンサルの存在価値ってな...
-
「0次提案書」は英語でなんとい...
-
SC事業とは何ですか?
-
シンクタンクの意味が本当にわ...
-
環境コンサルタントを行う上で...
-
仕入条件とは何でしょうか。。。
-
徳島の日本ハムに成れ無かった...
-
コンサルは闇が深い
-
コンサルの見積書、主任技師と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0120-899-543Amazonカスタマー...
-
0120-899-543Amazonカスタマー...
-
顧客の敬称
-
下請け業者が直接顧客と取引し...
-
顧客から営業へのクレームで、...
-
なぜルートセールスはサボれますか
-
前任者と比較されたら
-
SBI証券の経営層は操作画面(UI)...
-
顧客への納品ファイルのファイ...
-
顧客企業ってなんですか?
-
【敬称】販売店の担当者をお客...
-
NHK受信料を払っているのに訪問...
-
三国間貿易ならぬ2国間3者変則...
-
AccessVBAでの可視・不可視の切...
-
受注先は「顧客」?
-
ISOにおける顧客満足の調査方法
-
顧客所有物に水道や電気は含ま...
-
おはようございます。最近、大...
-
仕入・売上・在庫管理が出来る...
-
次の職業に向いている人物像・...
おすすめ情報