none
WSHのVBで、Excelシート内のセル範囲をソートする方法は? RRS feed

  • 質問

  • Windows 7配下で、WSHでExcel操作のコードを作成中です。

    条件は、

    ワークシートObject:oExcelSheet1で定義 (これは他のステップで動作OK)

    セル範囲Object:oSortReng

    3行目の1列目から、i_Row行目の i_Col列目までを範囲 (可変ですが、変数と値には問題なし)

    Key1:3行目の1列目で昇順、Key2:3行目の3列目で昇順、ヘッダーもデータ行、大文字小文字区別でのソート

    で、以下のようにしました。

    Set oSortReng = oExcelSheet1.Cells(3, 1).Resize(i_Row, i_Col)

    oSortReng.Sort oExcelSheet1.Cells(3, 1), 1, oExcelSheet1.Cells(3, 3), 1,,,2,True,1,1,0

    どこがマズイのでしょうか?

    2014年2月4日 11:01

すべての返信

  • フォーラム オペレーターの星 睦美です。
    Y.Kitano さん、投稿ありがとうございます。

    想定した結果が得られないということですが、実行の結果で問題となっている内容を出来るだけ詳しく質問に書いていただくと、コミュニティからのアドバイスが集まりやすいのではないかと思います。

    ※役だつ回答がありましたら、投稿者から[回答としてマーク] をお願いします。


    フォーラム オペレーター 星 睦美 - MSDN Community Support

    2014年2月5日 0:22
  • 質問者より、追加情報です。

    VBSでは名前付きでパラメータを与えられない。

    では、

      まずExcelマクロで記述(マクロを記録で、Excelを操作してソートし、マクロ記録を終了)する。

      次に、そのマクロからSortのパラメータ部分をコピペし、VBSに貼り付けて、パラメータの名前とか”=”や":"を消す。

    ってやると過不足なくコードを書けそうな気がします。

    試行してみます。。。

    2014年2月7日 4:13