• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【VBAでソートを実行したい】)

ExcelVBAでソートを実行する方法

このQ&Aのポイント
  • ExcelVBAでオブジェクトを設定し、ソートを実行する方法を知りたい。
  • マクロの記録でコピーしたソートのロジックがエラーになってしまう。
  • オブジェクトとしてソートを実行する際に何が問題なのか知りたい。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 >ExcelVBAでオブジェクトを設定し、 ? VBからではないのですか? 「Excel VBA」で、CreatObjectのオートメーション・オブジェクトを作る必要があるのでしょうか?一体、どこのブックを指しているのでしょうか? ブックのVisible も指定していなくてもよいのですが、シートオブジェクトがなくて、どうやって値をとって、並び替えが出来るのですか?また、シートデータを全部削除して、それでどうしてSortが出来るのでしょうか? 一応、VB だと解釈して、手直ししてみました。 これは、サンプルコードです。 Dim goBook As Object Dim mySheet As Object Dim myRng As Object On Error GoTo ErrorHandler Set goBook = CreateObject("Excel.Application") With goBook   .Workbooks.Open "D:\test1.xls"   .Visible = True  Set mySheet = .ActiveWorkBook.Worksheets("Sheet1") 'セルをクリアする 'この部分は、論理的矛盾です。 'goBook.Cells.Clear 'goBook.Range("A1").Select 'ソート実行 'goBook.Columns("A:A").Select 'ソート実行 With mySheet Set myRng = .Range("A1").CurrentRegion ''  myRng.Sort Key1:=.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin On Error GoTo 0 End With End With ErrorHandler: If Err() > 0 Then   MsgBox "Error " & Err.Number & " (" & Err.Description & ") " End If Set myRng = Nothing Set mySheet = Nothing Set goBook = Nothing

mari0629
質問者

お礼

サンプルコードを実行してみました。 要望通りの結果でした。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A