• 締切済み

EXCEL 「並び替え」の誤動作について

fumufumu_2006の回答

回答No.6

ANo.4です。 >さてさて、では実際にどんなアルゴリズムにしようか、 >ちょっと悩みますね。 そういう仕事してませんが、私なら・・・ どれでもいいけど、基本的には楽な方。 更にはバグが出にくい方、コードが少ない方。 あとはクライアントが要望した場合、「うーん、結構難しいですねー」と言いながら、それに合わせる。 と言うスタンスが好きです。

Dor_001
質問者

お礼

コード作成は最終的に個人的な審美眼によるものだと思います。 最低条件として、 バグ、速度、コード量(メモリー)だと思いますが、 最近はメモリーが安いので、バグ、速度のウェイトが高いでしょうね。 たぶん、HEX文字列に変換するワークシート関数(sjis)を作成し、 それをsort対象のワークシートの空き列に定義し、 従来のVBAのコードのsort範囲とsortキーを変更する程度の改修を考えています。一番楽でバグが少ない方法かと思います。 fumufumu_2006 さんのコードもなかなか洗練されていて、 さすがだな・・と思いました。 こんなコードがすらすら書けるようになりたいものです。 大変ありがとうございました。

関連するQ&A

  • エクセルの関数で

    次のような表があります。 名前 国語 算数 理科 あい 90 80 80 うえ 40 70 89 おか 60 70 90 きく 60 80 80 この中で科目別の最大最小をもとめ、 その点数をだしたのは誰かを求めたいのです。 重複した場合は、最初にヒットしたものでかまいません。 LOOKUPはソートしないとだめだし、 VLOOKUPはソートしなくてもいいのですが範囲の指定が・・ MATCHでは何番目までは取得できたのですが・・ マクロを使わず、この表の並び替えもしないで 出来る方法はありますか? win2k・Excel2000です

  • Excel を使用して運用データを編集する

    目的はODCファイルを開くことですがhttp://office.microsoft.com/ja-jp/excel-help/HA001086488.aspxこのページの「Web からのデータのインポートについて」の[データ] メニューはどこにありますか?

  • Excelの集計方法について(集計KEYが2個ある場合です)

    WinxpでExcel2002を使用しています。 A列  B列   C列 日付  性別  人数 上記の表があります。 SORTで日付(降順)、性別(昇順)に並べ替えを行い、その結果を以下のように人数を集計するには、どうすれば良いでしょうか? 性別計  男 ○人  性別計  女 ×人 日付計   ○+×人 尚、合わせて、日付計で、改ページも行いたいです。 ご教示宜しくお願いします。  

  • エクセルで英数字の文字列から数字を抽出

    エクセルで英数字を含む文字列から数字を抽出く =1*MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0),COUNT(1*MID(A1,ROW($1:$9),1))) 小数点にも対応させるにはどうしたら良いでしょうか。 「AA0.45」→0.45 「0.65BB」→0.65 「CC0.85CC」→0.85 http://office.microsoft.com/ja-jp/excel-help/HA001154901.aspx を参照しました

  • Excel2002でX/数値軸目盛にラインを入れることができますか?

    Excel2002でX/数値軸目盛にラインを入れることができますか? Microsoft Office Excel 2002です。 Excel2002でY/数値軸目盛にラインを入れることはできます。 どうすれば Excel2002でX/数値軸目盛にラインを入れることができますか? または、いつのバージョンのExcelならX/数値軸目盛にラインを入れることができますか? http://office.microsoft.com/ja-jp/excel-help/HA001034643.aspx?CTT=1

  • ExcelVBA:列方向の並び替え Orientation

    いつも大変お世話になります。初心者です。 長文で申し訳ありませんが、私の間違いについてご指導をお願いします。(Excel2003) 並び替えについて訳が分からなくなってしまいました。現状は、 ・A2セル=1月、A3=2月、A4=3月、A5=合計 ・B1セル=札幌、C1=東京、D1=名古屋、E1=大阪 ・B2:E4 は売上金額です。 ・B5 は、SUM(B2:B4) です。C5~E5も同様です。 ※売上合計は多い順に、東京、大阪、名古屋、札幌です。 この表の合計金額を並び替えをしたいと思い、以下を書いてみました。 左から順に、売上合計の多い支社順に、並ばせようとしました。 Cells(1, 1).CurrentRegion.Sort _ key1:=Cells(5, 1), order1:=xlDescending, Orientation:=xlSortColumns, header:=xlYes 【甲】 すると全く意図した形ではない並び替えが実行されてしまいました。 (なぜか行が入れ替わり、列は変わらず。) 【乙】 しかし、上のOrientationを、xlSortRows に変えてやってみると、意図した通りに並び替えられました。 【丙】 また、Order1:=xlAscending, Orientation:=xlSortRows でやってみると、列の並び替えは実施されますが、 月の見出し列(A1~A5)が一番右に移動してしまいます。 -------------------------------------------------------------------------- その後いろいろ調べたり、試行したりしたのですが疑問が山積してしまいました。 基礎的な話かもしれませんが、上記の例で、「列方向に、合計金額を基準に、正しく降順・昇順並び替え」をしたいと思っています。 【質問1】Sortメソッドのヘルプで見ると、Orientation の説明に、xlSortRows,xlSortColumnsの説明がありますが、 行方向、列方向、どうしても実際の動きと逆な気がしてなりません。 私の勘違いでしょうか。 【質問2】マクロの自動記録時に気づいたのですが、Orientation の設定に、xlLeftToRight や、xlTopToBottom というのが使われていました。 これらと xlSortRows, xlSortColumns の違いはありますか。 【質問3】列方向への並び替えの際には、Headerの設定をするのは無意味ですか? 上記(丙)のパターンで、xlGuess でも、xlYes 、xlNo でも全く動きは変わらず、月の見出し列が最右に移動しました。 【質問4】上の(丙)のパターンで正しく動かす為には、Sort の対象となる範囲を、B列以降にする必要があるのでしょうか。 ---------------------------------------------------------------------------- 分かりにくい箇所もあったかと思いますが、ご指摘いただければ補足させていただきます。 なお、「そんな簡単な表だったら、手で作業したら?」ということではなく、後学のために知っておきたいので質問させていただきました。 なにぶん勉強中なため見当外れの質問もあるかもしれませんが、なにとぞご教示よろしくお願いいたします。

  • Excel2007のフィルタ

    職場のPCで、あるPCは可視セルのみをコピーし、あるPCは非表示セルまでコピーをしてしまうのです。(全てExcel2007です。) http://office.microsoft.com/ja-jp/excel/HA102448971041.aspx?pid=CH100648341041 上記URLによると「すべてのセルをコピーするか、可視セルのみをコピーするかを選択できます。」とあるのですが、その方法が分かりません。 ご存知の方、お教え下さい。

  • Excel2002で右と左に違う軸の数値でグラフを出すことができますか

    Excel2002で右と左に違う軸の数値でグラフを出すことができますか? Microsoft Office Excel 2002です。 Excel2002でY/数値軸目盛にラインを入れることはできます。 どうすれば 右と左に違う軸の数値でグラフを出すことができますか? 相関関係がある指標と実際の価格を出して比較するようなときに使いたいのです。 または、いつのバージョンのExcelなら右と左に違う軸の数値でグラフを出すことができますか? http://office.microsoft.com/ja-jp/excel-help/HA001034643.aspx?CTT=1

  • セル結合されていないのに結合のメッセージが出る

    エクセル2010を使っております。 ある表を五十音順に並び替えようと思っているのですが、「この操作には、 同じサイズのセル結合が必要です。」とのメッセージが出てしまいます。 しかし、結合セルをhttp://office.microsoft.com/ja-jp/excel-help/HP010342686.aspx#BMfindmergedcells に記載されたとおりに検索しても見つかりません。 (並び替えようとしている範囲内を目で探しても結合セルは見つかりません) どうすれば、並び替えができるようになるのでしょうか? よろしくお願いします。

  • mos word2007でドキュメント検査

    MOS試験 word2007の試験を受けたいのですが、ドキュメント検査の問題で、メタデータというのがはっきりと分からず、マイクロソフト社のホームページで調べたところ、二通りの解釈が出てきました。 どちらで判断したらいいのか分からず、悩んでいます。どなたか教えてください。 メタデータを情報、プロパティ、隠し文字、コメントなどを言うというホームページが http://support.microsoft.com/kb/223396/ja 情報、プロパティという解釈のホームページが http://office.microsoft.com/ja-jp/excel-help/HA010037593.aspx です。よろしくお願いします。