• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:オープン時にソートを掛けて読み込みでエラーします。)

オープン時にソートを掛けて読み込みでエラーします

このQ&Aのポイント
  • オープン時にソートを掛けて読み込みでエラーが発生する件について相談です。
  • 毎回の作業で一度にソートを行いたいのですが、エラーが出てしまいます。
  • ソートを行う際に必要な処置や注意点についてアドバイスをいただきたいです。

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

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.2

原因は、ソートをするシートを明示してないからでしょう。 以下のように、Select、Key1,2,3のRangeオブジェクトの前に ActiveSheetを付加してシートを明示してみてください。 '--------------------------------------------------- 'ソート  ActiveSheet.Range("B5:AC20").Select  Selection.Sort _    Key1:=ActiveSheet.Range("H5"), Order1:=xlAscending, _    Key2:=ActiveSheet.Range("D5"), Order2:=xlAscending, _    Key3:=ActiveSheet.Range("C5"), Order3:=xlAscending, _    Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _    Orientation:=xlTopToBottom, SortMethod:=xlPinYin, _    DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _    DataOption3:=xlSortNormal '--------------------------------------------------- また、ソートの場合は、範囲をSelectする必要はなく直接ソートできます。 '------------------------------------------- 'ソート  ActiveSheet.Range("B5:AC20").Sort _   Key1:=ActiveSheet.Range("H5"), Order1:=xlAscending, _   Key2:=ActiveSheet.Range("D5"), Order2:=xlAscending, _   Key3:=ActiveSheet.Range("C5"), Order3:=xlAscending, _   Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _   Orientation:=xlTopToBottom, SortMethod:=xlPinYin, _   DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _   DataOption3:=xlSortNormal '----------------------------------------------------- 外しましたらご容赦!(^^;;;  

zaikoman3
質問者

お礼

うれしいです、どんピシャです^^!ありがとうございました。 理想の処理にまた一歩近づきました!!

その他の回答 (1)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

Dim sName As String sName = "book2" Application.DisplayAlerts = False Workbooks.Open Filename:="C:\Documents and Settings\tomita\My Documents\" & sName & ".xls" Sheets(sName).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) Windows(sName & ".xls").Close Sheets(sName).Name = "営業" & sName Application.DisplayAlerts = True 'ソート Range("B5:AC20").Select Selection.Sort Key1:=Range("H5"), Order1:=xlAscending, Key2:=Range("D5") _ , Order2:=xlAscending, Key3:=Range("C5"), Order3:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin MsgBox "営業" & sName & " をソートして読み込みました" Worksheets("main").Activate こうだと思います

zaikoman3
質問者

補足

Dim sName As String sName = "book2" 定義付けしてもやはり、同様にソート Range("B5:AC20").Select でエラーストップになってしまいます RangeクラスのSelectが失敗しました、エラー1004 ・・悲しいTT

関連するQ&A

専門家に質問してみよう