VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2007/02/27(Tue) 21:48
投稿者MTM
Eメール
URL
タイトルRe^5: スプレッド内のデータの確認

自分でこんなものを作ってみましたがいかがでしょうか?

Sub chkRep()
Dim a As Integer
Dim b As Integer

b = 0
For a = 1 To spd.MaxRows
  With spd
    .Row = a
    .Col = 1
    If txt(1) = .Text Then
        MsgBox "ダメ"
        b = b + 1
    End If
  End With
  With spd
    .Row = a
    .Col = 2
    If txt(2) = .Text Then
        MsgBox "ダメ"
        b = b + 1
    End If
  End With
Next
End Sub

これでテキストボックス1,2の中身とそれぞれが入るべき各列の中身を
比較して同じならメッセージボックスを表示、という風にしてみました。

それで同じものがなければ書き込みをしたいのです。
ですが私の作った以下のものですと
Private Sub cmd_Ok_Click()
    Call chkRep
    
    If b >= 1 Then
        Exit Sub
    End If

' 列挿入    
    With spd
        .Row = .ActiveRow
        .MaxRows = .MaxRows + 1
        .Action = 7
    End With
    
    〜書き込み処理〜
End Sub
としてみたのですがchkRep内でカウントした[b]の中身が
引き継がれないため、チェックに引っかかっても書き込み
してしまいます。

なにか良い回避方法はないでしょうか?


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -