VBで使用しているスプレッドシートにおいて、ENTER TO TABを実現するにはどうしたらいいでしょうか?
現在入力モードで使用しており、上から下へとTABを移動していきたいのですが・・・どうもうまくいきません。
Microsoft Spreadsheet Controlの事でしょうか?
(Ver.9 なら MSOWC.DLL、Ver.10ならOWC10.DLL)
もし、Microsoft Spreadsheetの事であれば、
MoveAfterReturnプロパティをTrueにする事で、
Enterでの移動を有効にできます。ついでに、
MoveAfterReturnDirectionプロパティで
移動方向を指定しておけばよろしいかと。
使用しているのは、
SPREADデザイナ Ver.3.0.15
開発元:FarPoint Technologies です。
上から下、左から右とセルを移動させたいのですが、
上から下のみは実現できたのですが、次の列の一番上のセルには
移動さすことが出来ず、悩んでいます。
SPREADデザイナを開いて、
メニューの全般−>スプレッドシートの動作環境−>
[ENTER]キーの動作−>アクティブセルの移動を
「次のセル」にチェック、でいかがでしょう?
Kさんありがとうございます。
でもそれだと、左から右に進んでいくんですよね。。
上から下、左から右という動作をさせたいんです。。
おっしゃってる仕様がよくわからないのですが、
Enterで下に移動し、
最後の行までいくと次の列の1番上の行へ戻るという事でしょうか?
であれば、コードを組むくらいしか私には思いつかないですね。
Advanceイベントあたりで、
最終行だったら行を一番上にして列を次の列にセットする、
という具合でどうでしょうか?
以下、テストも何もしていなコードですが、
Private Sub vaSpread1_Advance(ByVal AdvanceNext As Boolean)
With vaSpread1
If .ActiveRow = 10 Then '10の部分は最終行を示すのがあったかも
.Row = 1
.Col = .ActiveCol + 1
.Action = ActionActiveCell
End If
End With
End Sub
遅くなりましたが、やはりそのように組むしかなさそうですね。。
まだ試してはいませんが、Kさんのロジックを参考に
組んでみたいと思います。ありがとうございました☆彡
ツイート | ![]() |