このコードはSmallScrollメソッドを使用していますが、ToRight:=-11 とはセルを右に11移動する、という意味で大丈夫でしょうか?
違います。
11列分左方向を見に行くという意味になります。(値がマイナスになっているので。)
選択しているセルを右に移動したとか左に移動したではなく、
スクロールバーで見るセル範囲を移動したとかそういう感じです。
(マクロの記録とか確認してないので、SmallScrollメソッドを使うと、
どういう動作になるかわかってません^^;)
ただし、A列が見えているとそれより左の列は存在しませんので、
なんの動きもしませんが。。。。
またこのコードの絶対位置はRange("B11:O54").Selectになると思うのですが、これはどのシートのセルを対象としているのでしょうか?
Rangeプロパティは、親オブジェクト(つまりどのシートか)を記述しないで省略すると、
「アクティブなシートだろう」とエクセル君は勝手に解釈します。
なので、「Sheet2」シートのセルを指定したいときは、
Worksheets("Sheet2").range("B11:O54")
と、記述すべきです。
ただし、「Sheet2」シートがアクティブになってないと、
Worksheets("Sheet2").range("B11:O54").Select
と命令しても、エラーになります。
選択してないシートのセルは、選択できないので。
(手動の時は、必ず、シートを選択してから、セルを選択してるので気づきにくいです)
それから、見えているセル範囲は、
ActiveWindow.VisibleRange
で、取得します。
あと、
またこのコードの絶対位置はRange("B11:O54").Selectになると思うのですが
絶対位置とはなんでしょ?
選択しているセル範囲と、
ウィンドウ内で見えているセル範囲は別物です。
Selection.SortSpecial SortMethod:=xlSyllabary, Key1:=Range("B11")
↑のコードでは、
Selectionが、
「選択しているもの」という意味なので、
先ほど選択したセル範囲が操作対象になってます。
(ちなみに、選択しなくても操作したいセル範囲は指定できます。)
マニュアルがあるのですね!見てみるとかなりわかりやすかったので、次回から参考にいたします!
ホントに解りやすかったですか?
ヘルプは初心者用に書かれた物ではないので、初心者には難解な場合が多いです。
命令の使い方は解るかも知れませんが、書かれている意味は分かる人にしかわからないと思います。
(実際、よくわかんなかった^^;まぁ、動かしてみたり、マクロの記録をしてみたりしたら、
分かるんでしょうが。)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。