「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:1195
現在:4


ツールAZ↑、ZA↓は最左列しか並べ替えられない?

ページOpenOffice.org FAQの登録ページ
投稿者zemzem
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2007-05-17 19:52:36 (木)
OSWindows XP
依存するページ
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

 キーにしたい列をクリックして、ツールAZ↑やZA↓をクリックしても最左列の昇順・降順にしかなりません。何か特別な手続きがあるのでしょうか?
 EXCELのように動作してくれると便利です。


同様の質問が、直前に。

catch (2007-05-17 23:32:18 (木))

こちらは参考にならないでしょうか。
faq/4/475

お返事いただいたのですが、少し違うようです。

zemzem (2007-05-31 22:19:31 (木))

お返事いただきありがとうございます。


次のような表があって、身長の高い順に並べたいとき…

出席番号生徒氏名身長体重
しずか15540
ジャイアン17065
のびた16050


身長をクリックして、ZA↓アイコンを押すと…

EXCELでは、身長の高い順(降順)に並び変わりますが、
Calcでは、出席番号(最左列)の降順にしか並び変わらないのです。

基本どおり、範囲を指定→データ→並べ替え→優先列(身長)→OKと操作すれば、並び変わりますが、2クリックですむ操作が、1ドラッグ4クリックしなければならず、もっと大きな表のときのはいやになります。

せっかくのAZ↓、ZA↓アイコンが役に立たないのがもったいないので、
キー列(身長など)をクリックするときに、例えばCtrlキーなどを合わせて操作するような手続きがあるのなら教えていただきたいのです。

よろしくお願いいたします。

ボタンの代わりに

catch (2007-06-01 15:56:23 (金))

ボタンの代わりに、「データ」-「並び替え」とやると、
自動で範囲を選択して、全体を並び替えられます。

また、バージョン2.2では、「A->Z」ボタンで、全体を並び替えできました。
ただし、見出し行も変わってしまいます。

お返事をいただいたのですが…。まだ違うようです。

zemzem (2007-06-01 23:17:39 (金))

お返事をいただきありがとうございます。

ボタンの代わりの操作ができることは承知しています。

Ver2.2でボタン操作で「全体が並び替えられる」というのは、任意にキー列を指定してできているのでしょうか?  キー列が再左列ではないか確認をお願いします。

「見出し行も変わっている」のでは、実用の段階ではありませんので…。

私は、「EXCELのように、任意にクリックした列をキーとして、AZ↓・AZ↓ボタンで並べ替えができ、タイトル行が残る。」ことを希望しています。

よろしくお願いいたします。

現状マクロ作成しかないようです

ike@九州 (2007-06-02 11:28:04 (土))

Excelの場合、ボタン割り当てのプログラムはやはり優れています
自動でタイトル行の有無を判断していて、表を生徒氏名の1列のみにしても正しく動作しますね(書式やデータの違いで判断しているようですが)
Calcの場合はまだ機能不足という事でしょう

自動判断不足ですがマクロは取りあえず作成できました
(エクステンションには完成度が足りません)
サンプルファイルにマクロを設定してます(ご注意くださいね)
もしツールバーに Sort_Ascendingボタン、Sort_Decendingボタン が無ければカスタマイズより設定して検証して下さい

1行目のタイトルを選択するとタイトル行有と判断して、選択された列が優先キーとなり2行目以降をソートします
2行目以降を選択するとタイトル行無と判断して、選択された列を優先キーとして1行目からソートします

サンプルマクロまで作成していただいてありがとうございます。

zemzem (2007-06-02 20:42:09 (土))

お返事と、サンプルプログラムの添付ありがとうございます。

現状ではAZ↓キーに不備があることがわかり、少し残念です。
いただいたサンプルマクロを研究して活用させていただきます。

個人的には、マクロを含むワークシートを開くときの警告は、毎回ドキドキしています。

今回の質問はここで納めさせていただきます。
改めて開発や改良に関わってくださっている方々に、要望としてこのボタンの機能の充実をお願いいたします。

お返事をいただいた皆さまに感謝いたします。ありがとうございました。

追記 自動判断可能なマクロができました

ike@九州 (2007-06-03 10:28:41 (日))

もう少し早く思いつけば良かったのですが
セルの何処をクリックしても、その列を優先キーとしてタイトル行(ラベル行)の有無を自動判断して並び替えます
殆ど、Excelの並び替えボタンの動作と同じになりました
マクロを埋め込んでいる検証用のファイル

利用する為のエクステンション

まさに期待した動きです。もう少しだけお願いがあります…。

zemzem (2007-06-09 21:42:42 (土))

お礼の返事が遅くなり申し訳ありません。

まさに期待したとおりの動きになりました。
申し訳ありませんが、あと二つ教えていただきたいことがあります。

1.すでに作成済みのワークシートにこのマクロが使えるようにする手順。
2.「利用するためのエクステンション」の正しい適用方法。

 添付していただいた二つのファイルを同じところにおいているだけで「Sort_Sampli2」は正しく動作していました。
 続いて、以前作成したファイルを開いて並べ替えボタンを押しましたが、期待した動作になりません。すでに作成されたワークシートファイルにこのマクロを正しく提供させる手順を教えてください。
 よろしくお願いいたします。

説明不足でした

ike@九州 (2007-06-10 09:20:52 (日))

「Sort_Sample2」自体にマクロを記述しボタン割り当てを変更して反映させてますので「Sort_Sample2」でのみ動作してます。(検証用)

自身の環境で使いたい場合は(faq/4/413を参照)
1.エクステンションをツール->拡張マネージャで追加する
2.Calcツール->カスタマイズ->ツールバータブで追加ボタン

1_1.PNG

3.マイマクロ_SortTable_Module1内のSort_Ascending、Sort_Decendingを各追加する

1_2.PNG

4.アイコン表示したい場合 変更->アイコンの変更でアイコンを選んでOK

1_3.png


1_4.png


5.既存の並び替えボタンはチェックを外すと表示されなくなります
6.元に戻すボタンを押すと全て初期設定に戻ります

ユーザー毎の設定になるので同じPC、同じユーザーでログイン時のみ使用できます。他PCや他ユーザーの場合は手順1から必要です
「Sort_Sample2」のようにドキュメント自体に設定するとそのドキュメント自体でしか動作しませが以下
・エクステンション設定の必要なし
・ドキュメントを再利用して配布しても同じ動作(ワークシート貼り付けて)
・起動時にマクロ有効無効ダイアログ出現

#マクロは改良できるところに便利さがあります。最善の記述でありませんので各自工夫してください(はにゃ?さんなら最善記述されます)

丁寧な説明に感謝します。

zemzem (2007-06-10 22:17:04 (日))

 とても丁寧な解説をしていただき感謝します。やってみます。

 あの…もう一つだけ気になることが…
 「ドキュメント自体に設定する」方法もよろしければお願いします。

 私が作成したドキュメント(ワークシート)を、他の人に配布する場面がたまにありますので、受け取った人に利用してもらえます。

 お願いばかりで申し訳ありません。
 

簡単なのは再利用です

ike@九州 (2007-06-11 14:38:10 (月))

一番簡単なのはSort_Sample2.odsの再利用です
・表1シートを削除
・他ドキュメントからワークシートをコピー
・適当な名前をつけて保存
オープン時マクロ有効で、ボタンが使えるドキュメントが出来上がります

以下ドキュメント自体に設定する方法

ツール->マクロ->マクロの管理->OpenOffice.org Basicから
・ドキュメント名_standard 新規作成からマクロ記述又はマクロコピーして保存
・上記手順2 先に保存場所でドキュメント名を選んで同じ作業
・上記手順3 ドキュメント内のマクロを選び同じ作業
・上記手順4 先に保存場所でドキュメント名を選んで同じ作業
・ドキュメント自体も上書き保存で反映されてます

重要なのはマクロの存在場所と保存場所がドキュメント内である事です

#ボタンも自作のを使用できますが、それは次の機会にご案内します

重ね重ねお世話になります

zemzem (2007-06-15 21:52:18 (金))

 詳しく丁寧な回答をありがとうございます。
これで、本格的にOpenOfficeを活用することができます。
返事が遅れましたことご容赦ください。
ありがとうございました。

完了にします

M.Kamataki (2007-06-16 10:14:33 (土))

コメントいただきましたので、完了にします。

エクステンションを作成していただいたike@九州さん、ありがとうございました。

改良版をアップいたしました

ike@九州 (2007-07-28 16:09:33 (土))

幾つか、ソート出来ない場合がありましたので改良版アップしました

基本的な考え方の変更
範囲の取得に、最下行と各列が同じ書式の行を上から下へ順に比較して行き
全て一致した行をデータ範囲の開始行とみなし、選択列をキーとしてタイトル行無でソート

・列のタイトルは複数行でも可(結合セルがあっても可)
・空白データが最上行にあっても可
・全列の何処か1箇所タイトルを区別できれば正常に動作(以前は選択列のみで判断)
・印刷プレビュー時には何もしない
・複数セル範囲を選択していた場合、並び替えダイアログを表示する
・完成版としてエラー処理を追加
#最下行は必ずデータ行の必要がある(エクセルと同じ)
#最下行にSUM AVERAGEを使う場合、空白行を1行入れる事

久しぶりにのぞいてみたら

zemzem (2007-08-08 20:47:49 (水))

さらに改良していただいてあり月ございます。
バージョンアップの際に組み込まれていることを望みます。

お名前:
題名:


添付ファイル: fileNewSortTable.oxt 1015件 [詳細] file1_4.png 666件 [詳細] file1_3.png 663件 [詳細] file1_2.PNG 634件 [詳細] file1_1.PNG 592件 [詳細] fileSortTable.oxt 988件 [詳細] fileSort_Sample2.ods 1027件 [詳細] fileSort_Sample.ods 527件 [詳細]