• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBA UsedRange範囲ソート)

Excel VBA UsedRange範囲ソート

このQ&Aのポイント
  • Excel VBAを使用してUsedRangeの範囲でソートする方法について知りたいです。
  • CurrentRegionではなくUsedRangeを使用して、商品コードの列を登り順に並び替えたいです。
  • 質問文章の内容は、Excel VBAを使用してUsedRangeの範囲で商品コードの列を登り順に並び替えたいというものです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.2

No1です B1にデータがあったのを見落としてました .SetRange Range(Cells(3, "A"), ActiveCell.SpecialCells(xlLastCell)) これでいかがでしょう。

ketae
質問者

お礼

エラーはゴミ文字が別行にあったからでした。 うまく並びました。

ketae
質問者

補足

「変数が定義されていません」とコンパイルエラーが出るのですが、どこを指しているのでしょうか。

その他の回答 (2)

  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.3

> 「変数が定義されていません」とコンパイルエラーが出るのですが 質問に書かれているコードの .SetRange Range("A3").CurrentRegion を .SetRange Range(Cells(3, "A"), ActiveCell.SpecialCells(xlLastCell)) に変更しただけで、こちらではエラーは出ないのですが・・・エクセル2013です。 変数と認識されるのはxlLastCellだと思いますが、試しに .SetRange Range(Cells(3, "A"), ActiveCell.SpecialCells(11)) にしてみるとどうでしょう。 ただ、xlLastCellはエクセル95からの組み込み定数に入っているので使えるはずなのですが、参照設定でしょうか。 Visual Basic For Application Microsoft Excel 15.0 Object Library OLE Automation Microsoft Office 15.0 Object Library

ketae
質問者

補足

ありがとうございます。 SpecialCells(11)動きました。 数字(添え字?)での指定ができるのですね。

  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.1

他にデータがないのでいたら .SetRange ActiveSheet.UsedRange でいかがですか。

ketae
質問者

お礼

ありがとうございました。

関連するQ&A