dポイントプレゼントキャンペーン実施中!

http://okwave.jp/qa/q8383406.html

以前も質問させて頂きました。
任意の順番にシートを並び替えるプログラムです。

Sub Sheet_sort_Select()
Dim A As Variant, I As Integer
A = Array("更新履歴", "統計", "全データ", "商品金額", "販売台数", "販売累計")
For I = 0 To UBound(A)
Worksheets(A(I)).Move after:=Worksheets(Worksheets.Count)
Next I
End Sub

上記方法で並び替えを行っています。
色んなシートから並び替えを実行するのですが、
最後に選択していたシートに戻るということは可能でしょうか?

このsortをした後に、またselectなりすれば
シート選択できますが、他に方法はあるのでしょうか?

Excel2003を使用しています。

A 回答 (1件)

事前にオブジェクト(今回はシート)を変数に放り込んで、記録しておきます。




Sub Sheet_sort_Select()
  Dim A As Variant, s As Worksheet, I As Integer
  A = Array("更新履歴", "統計", "全データ", "商品金額", "販売台数", "販売累計")
  Set s = ActiveSheet
  For I = 0 To UBound(A)
    Worksheets(A(I)).Move after:=Worksheets(Worksheets.Count)
  Next I
  s.Select  ' 1 シートのみを選択したい場合は「s.Activate」と書いてもよい
End Sub
    • good
    • 1
この回答へのお礼

回答ありがとうございます!
並び替えの前に、アクティブシートを保持しておくのですね!
全く思いつきもしませんでした…orz

回答頂き、ありがとうございます!
良いプログラムを組めるようにがんばります!

お礼日時:2014/01/20 09:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!