投稿時間:2004/11/18(Thu) 14:34 投稿者名:ゆ
Eメール:
URL :
タイトル:Re: スプレッドで特定の行のみフォーカスを許さない方法
Q&Aより 抜粋です Question: セルに入力された値を判別し、それが無効な場合にセルの移動を禁止する方法を教えてください。 Answer: セルの移動を禁止する場合は、LeaveCellイベントの Cancel引数を使います。
次のコードは、入力された文字列が時刻として有効かどうかを判別し、無効な場合はセルの移動を禁止します。
Private Sub vaSpread1_LeaveCell(ByVal Col As Long, ByVal Row As Long, ByVal NewCol As Long, ByVal NewRow As Long, Cancel As Boolean) Dim datCurrentCell As Date
With vaSpread1 .Col = Col .Row = Row If .CellType = SS_CELL_TYPE_PIC Then ’未入力の場合はデフォルトの値を入れます If .Text = "" Then .Text = .TypePicDefaultText
On Error Resume Next datCurrentCell = Cdate(.Text)
’時刻として無効な入力の場合はセルの移動を禁止します If Err Then Cancel = True End If End With End Sub
|