掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
SPREADのPositionプロパティがうまくいきません (ID:82975)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
どなたかわかる方ご教授お願いします。 最大表示領域が4行で1行おきにセルを ロックしているスプレッドがあるとします。 アクティブセルが3行目で↓キー押下時、4行目を飛び越え 5行目にアクティブセルが移動まではいいのですが、この時点で TopRow値を3にしたいのです。 LeaveCellイベント内でPositionプロパティ等を使って操作しているのですが どうしてもTopRow値が2でもう1行スクロールさせることができません。 わかりづらい説明で申し訳ないのですが、どなたかアドバイスをお願いします。 ________________ 1行目 | | | | 2行目 |№1|LOCK |LOCK| 3行目 | |アクティブセル| | 4行目 |№2|LOCK |LOCK|↓キー押下で ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ ________________ 2行目 |№1|LOCK |LOCK| 3行目 | | | | 4行目 |№2|LOCK |LOCK| 5行目 | |アクティブセル| |となるのを、、、 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ ________________ 3行目 | | | | 4行目 |№2|LOCK |LOCK| 5行目 | |アクティブセル| | 6行目 |№3|LOCK |LOCK|となるようにしたい ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ このサンプルは↓キー押下時の処理です。 >Private Sub Spread1_LeaveCell(ByVal Col As Long, ByVal Row As Long, ByVal NewCol As Long, ByVal NewRow As Long, Cancel As Boolean) > > Dim iCurRow AS INTEGER > > ''アクティブセルが表示領域外に移動した時 > If Row <> NewRow Then > iCurRow = NewRow - Spread1.TopRow > If iCurRow >= 4 Then > > Spread1.TopRow = NewRow - 2 > Spread1.Col = 2: Spread.Row = NewRow - 2 > Spread1.Position = 0 > Spread1.Action = 1 > End If > End If > >END SUB
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.