[リストへもどる]
一括表示

投稿時間:2003/04/16(Wed) 19:31
投稿者名:むっちゃん
Eメール:
URL :
タイトル:
FlexGlidでのAfterEditの使用法について
FlexGridで、AfterEditの関数を使用して、
二つ横並びしているセルを足したら、100になるようにしたいんです。
例えば、二つのセルに20と80が入ってて、
前のセルの20を30に変更すると自動的に後ろのセルの80を70に、
後のセルの70を60に変更すると自動的に前のセルがの0を40になるようにしたいのです、、、。

VB全くの初心者で困っています。
どうかよろしくお願い致します。

投稿時間:2003/04/17(Thu) 13:51
投稿者名:NEU(ノイ)
Eメール:
URL :
タイトル:
Re: FlexGlidでのAfterEditの使用法について
AfterEditイベントがあるということはグレープシティ社のVSFlexGridですね。

方針としては

現在の列Colが前のセルか後のセルなのかを
Select Case ステートメントかIf...Then...Else ステートメントを使って
条件分けをしてそれぞれにあった計算をするコードを書きます。

投稿時間:2003/04/18(Fri) 17:32
投稿者名:むっちゃん
Eメール:
URL :
タイトル:
Re^2: FlexGlidでのAfterEditの使用法について
> AfterEditイベントがあるということはグレープシティ社のVSFlexGridですね。
>
> 方針としては
>
> 現在の列Colが前のセルか後のセルなのかを
> Select Case ステートメントかIf...Then...Else ステートメントを使って
> 条件分けをしてそれぞれにあった計算をするコードを書きます。
IF文で何とかしようとしたのですが、
できませんでした、、、。(T-T)

投稿時間:2003/04/19(Sat) 11:39
投稿者名:NEU(ノイ)
Eメール:
URL :
タイトル:
Re^3: FlexGlidでのAfterEditの使用法について
> IF文で何とかしようとしたのですが、
> できませんでした、、、。(T-T)

Private Sub VSFlexGrid1_AfterEdit(ByVal Row As Long, ByVal Col As Long)
    If Col = 前のセルの列の番号 Then
        後のセルの値 = 100 - 現在(前)のセルの値
    ElseIf Col = 後のセルの列の番号 Then
        前のセルの値 = 100 - 現在(後)のセルの値
    End Select
End Sub

投稿時間:2003/04/21(Mon) 19:52
投稿者名:むっちゃん
Eメール:
URL :
タイトル:
Re^4: FlexGlidでのAfterEditの使用法について

> Private Sub VSFlexGrid1_AfterEdit(ByVal Row As Long, ByVal Col As Long)
>     If Col = 前のセルの列の番号 Then
>         後のセルの値 = 100 - 現在(前)のセルの値
>     ElseIf Col = 後のセルの列の番号 Then
>         前のセルの値 = 100 - 現在(後)のセルの値
>     End Select
> End Sub
afterEditの中で以下のプログラムを書いたのですがだめでした、、、。
どこが悪いか教えていただけないでしょうか。
よろしくお願い致します。

         Dim i  As Integer
           For i = 0 To .Rows - 1
             If .Col = 9 Then
                .Cell(flexcpText, 10, i) = 100 - .Cell(flexcpText, 9, i)
             ElseIf .Col = 10 Then
                .Cell(flexcpText, 9, i) = 100 - .Cell(flexcpText, 10, i)
           End If
         Next

投稿時間:2003/04/22(Tue) 10:17
投稿者名:NEU(ノイ)
Eメール:
URL :
タイトル:
Re^5: FlexGlidでのAfterEditの使用法について
> afterEditの中で以下のプログラムを書いたのですがだめでした、、、。
どんなふうにだめだったかを書いてください。
どの部分でどんなエラーメッセージが出るのかなど。

>         .Cell(flexcpText, 10, i) = 100 - .Cell(flexcpText, 9, i)
Cellプロパティの引数を確認してください。

投稿時間:2003/05/02(Fri) 00:45
投稿者名:通りすがり 
Eメール:
URL :
タイトル:
Re^5: FlexGlidでのAfterEditの使用法について
Private Sub VSFlexGrid_AfterEdit(ByVal Row As Long, ByVal Col As Long)
    With VSFlexGrid
    If Col = 9 Then
        .Cell(flexcpText, Row, 10) = 100 - .Cell(flexcpValue, Row, Col)
    ElseIf Col = 10 Then
        .Cell(flexcpText, Row, 9) = 100 - .Cell(flexcpValue, Row, Col)
      End If
    End With
End Sub

これでどうでしょう?