Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7882 / 13645 ツリー ←次へ | 前へ→

【36298】コマンドボタンクリックで別シート範囲をソートさせる salt 06/3/27(月) 18:10 質問[未読]
【36300】Re:コマンドボタンクリックで別シート範囲... Kein 06/3/27(月) 18:40 回答[未読]
【36308】Re:コマンドボタンクリックで別シート範囲... salt 06/3/28(火) 8:36 お礼[未読]

【36298】コマンドボタンクリックで別シート範囲を...
質問  salt  - 06/3/27(月) 18:10 -

引用なし
パスワード
   こんばんは。

コマンドボタンを押すと、別シートの指定範囲をソートし、ユーザーフォームを表示させる、というマクロを作っています。
その別シートの指定範囲をソート、で質問があります。

Sub Button1_Click()

WorkSheets("sheet1").Select
  ActiveSheets.Range(Cells(f1,f2),Cells(f3,f4)).Sort _
    key1:=range("b6")
・・・

※f1,f2,f3,f4 は、Dim f1 As Integer で定義した数値が与えられています。

というマクロを組んでいますが、うまくいきません。
コマンドボタンのあるシート内に対して上記マクロで実行すると、問題なく動きます。
また以下のように範囲をRangeだけで組めば、別シートでもきちんと動くのですが、RangeとCellsを組み合わせると別シートではうまく動きません。
WorkSheets("sheet1").Select
  ActiveSheets.Range("a6:g198").Sort _
    Key1:=Range("b6") ・・・

ご教授願います。

【36300】Re:コマンドボタンクリックで別シート範...
回答  Kein  - 06/3/27(月) 18:40 -

引用なし
パスワード
   FAQですね。

Sub Button1_Click()

 With Worksheets("Sheet1")
   .Range(.Cells(f1, f2), .Cells(f3, f4)).Sort _
   key1:=.Range("b6")

 End With

というようにしてみて下さい。

【36308】Re:コマンドボタンクリックで別シート範...
お礼  salt  - 06/3/28(火) 8:36 -

引用なし
パスワード
   ありがとうございます。

同じパターンでも試していましたが、
Cellsの前に「.」が必要だったのですね。

大変参考になりました。無事に問題なく動きました。

7882 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free