過去の桐井戸端BBS (桐ver.9)
30175 項目内のデータが替わるごとに自動的に空白行を入れたい かわかみ 2005/06/08-18:31
項目内のデータが替わるごとに空白行を自動で2行入れることが、
関数?・一括処理等で、できると目検で、行を挿入しなくてすむのですが、
何かいい方法がありますでしょうか。
バージョンは、9, ウィンドウズは、XPです。
よろしくお願いいたします。
30176 空白行を入れる意味は? 佐田 守弘 2005/06/08-21:33
記事番号30175へのコメント
かわかみさん
まず最初に確認させて頂きます。項目値が変わる度に空白行を入れる目的は何のためなのでしょうか。
考えられる理由として、
@表の上で、データの区切りとして空白行を入れて仕切りとしたい。
A同じ項目値のデータを後から追加するために、空白行を入れておきたい。

まず正論を先に述べます。
桐の表はExcelのワークシートとは違いますので、途中に空白行を入れる必要性と意味が全くありません。
もし途中に誤って空白行を入れてしまったら、空白行は削除するのが本当です。

表は単にデータの容れ物であって、印刷イメージではありません。
序でに言えば、データの並び順も全く関係ありません。単にデータが入力されていれば、それで構わないのです。

上記の想定した理由でいえば、
@仕切りのため
表の上に仕切りの空白行は不要です。一覧表印刷ないしレポート印刷の際に必要な行数の空白行をれられますし、罫線も引けます。
A同じデータグループをまとめるため
まとめる必要が元々ありません。整列すればいつでも指定の順序で並び替えられますから。
新しいデータは最後に追加するのが普通です。そして必要なら並び替えて書き出し、それをもう一度読み込めば、
表全体のデータの順序も好きな様に並べられます。
途中にデータを追加する意味はありません。
また、フォームを使えば、ある項目地のグループだけを表示する事もできます。

●一括処理で空白行を追加する
意味のある処理ではないと思いますが、一括処理ないしイベントで可能は、可能です。
しかしどの場面で行うのか、(表形式編集かフォーム編集か)その時の表の状態はどうなっているかによって、
できるかどうかと、方法が変わります。
(多分、フォーム編集でイベントを使わないと、意図しているであろう事の様にはならないと思うのですが。)

佐田守弘(KS-00119)
30188 Re:空白行を入れる意味は? かわかみ 2005/06/09-20:16
記事番号30176へのコメント
佐田 守弘さん、有難うございます。

データー数が、5000件とか在って店名コードが、100種類くらいあるので
絞込みをしながら宛名を打つのが、しんどいので、打っているうちに白紙が出てきたら店舗が、
変わる目印になるかと単純に思った為に空白を1回の処理で全データに対して2行ずつとか入れられたら
作業効率が良いかと思いましたので、何か良い知恵が得られないかと掲示板に載せさせていただきました。


30189 Re:空白行を入れる意味は? たゆー 2005/06/09-23:53
記事番号30188へのコメント
もしかして、下記の内容は印刷で?と思われますが
>白紙が出てきたら店舗が、変わる目印になるかと単純に思った為に
>空白を1回の処理で全データに対して2行ずつとか入れられたら

とりあえず、一番簡単な「項目値が変わったら2行空白を作成」する方法を紹介します

・まず、項目が・・・の[店名コード]を単一化します。
・次にこのファイルの[店名コード]だけを書き出します
・終端行へ移動し、いま書き出したファイルを2回読み込みます
・[店名コード]で並べ替えを行います

これで、まったく空白でないではないですが、他のデータがない2行が項目の変わり目にできます。
あとは印刷するなりなんなりと。

それでも、項目がじゃまでしたら、別にDAMY項目をもうけるなど応用下さい


30190 Re:空白行を入れる意味は? 悲しげ 2005/06/10-10:17
記事番号30188へのコメント
たゆーさんのコメントを見て別な連想が出来ました。

当初は私も印刷のことなのかと思いましたが、これは表での入力において、ですね。
つまり、連続して[宛名]を「行挿入」をしていく。この操作は多分
<F3>キーを使う。で、[店名コード]は<F2>キーで直前値複写と。
あるいは、[店名コード]までは既に入力済みである表に、[宛名]を延々と入力していくことなのかもしれません。
いずれにせよ、このリズムで連続入力していると、[店名コード]が
変わるタイミングをうっかり見逃してしまう。この見逃しを防止するための
境界的な目印として「2行の空白行」ということではないかと。
とすれば、境界的目印は空白行2行でもいいのかもしれませんが、
無駄なレコードを使わないもうひとつの方法として、[店名コード]が
変われば色を変えるというのはどうでしょう?

やり方の一例
▼[色]項目を増設。
▼置換/条件名を設定して、その計算式は
   #グループ([店名コード])
▼項目の表示条件/条件編集で例えば
   #mod([色],2)=0 なら 背景色を淡黄色
   #mod([色],2)<>0 なら 背景色を淡水色
※時々、置換/条件を実行させる必要あり。



あるいは

>絞込みをしながら宛名を打つのが、しんどいので、

であれば、[店名コード]をグループ項目とする一覧表フォーム(伝票でも可)を作り、
そのフォーム上で行追加として[宛名]等のデータを入力していく。
店名の切り替えも画面の前後移動で可能。
但し、このやり方では行挿入は難しいです。


戻る