いつもお世話になっています。
現在、顧客向けの帯封を作成するため、エクセルでデータを作成して、ワードで差し込み印刷をしています。この帯封は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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 指定した固有番号で、複数の行を削除する方法は? 2 2022/03/30 15:18
- Excel(エクセル) 関数の式を教えてください 2 2022/04/04 11:15
- Access(アクセス) 対象月の2桁表示について 1 2023/01/07 05:08
- Visual Basic(VBA) 複数ページあるPDFファイル内の文字列等の情報をキーにPDFをグループ分け分割したい。 2 2022/06/25 09:51
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- その他(開発・運用・管理) マイクロソフト製品のライセンス販売で困ってます 1 2022/06/30 19:52
- その他(データベース) accessについて 2 2022/05/31 16:58
- 営業・販売・サービス お客様先常駐のSEです。常駐しながら新規顧客の営業を行う方策などがあれば教えてください。 4月から新 3 2023/05/25 07:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
顧客から営業へのクレームで、...
-
顧客の敬称
-
下請け業者が直接顧客と取引し...
-
仕入先の当社の顧客への直接取...
-
NHK受信料を払っているのに訪問...
-
顧客コードとは?なんですか?
-
洗い屋掃除屋さんの1一人親方は...
-
前任者と比較されたら
-
Amazonってどうやって儲けてる...
-
0120-899-543Amazonカスタマー...
-
【敬称】販売店の担当者をお客...
-
あなたなら、通信教育講座の受...
-
次の職業に向いている人物像・...
-
フォワーダー営業の楽しさって...
-
『顧客歓喜(CD)』の必要性につ...
-
JIS C 2411 電気絶縁用シリコ...
-
お客様、お客さん、顧客、カス...
-
AccessVBAでループ使...
-
ラブホテルにあったら嬉しいも...
-
SBI証券の経営層は操作画面(UI)...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
下請け業者が直接顧客と取引し...
-
顧客から営業へのクレームで、...
-
SBI証券の経営層は操作画面(UI)...
-
顧客の敬称
-
0120-899-543Amazonカスタマー...
-
顧客企業ってなんですか?
-
前任者と比較されたら
-
ファイナンシャルプラナーの収...
-
AccessVBAでの可視・不可視の切...
-
ラベルのUL規格について
-
【敬称】販売店の担当者をお客...
-
ラブホテルにあったら嬉しいも...
-
NHK受信料を払っているのに訪問...
-
仕入先の当社の顧客への直接取...
-
フォワーダー営業の楽しさって...
-
JIS C 2411 電気絶縁用シリコ...
-
おはようございます。最近、大...
-
お客様、お客さん、顧客、カス...
-
納品後の見積書
-
マスタープランへの噛み込み の...
おすすめ情報