度々失礼します。
現在テキストボックスの内容をスプレッドに挿入、ということを
行おうとしているのですが、その際すでにある情報と書き込もうと
している情報が重複していないかチェックを行っています。
それで実際
Call chkRep
If b >= 1 Then
Exit Sub
End If
With spd
.Row = .ActiveRow
.MaxRows = .MaxRows + 1
.Action = 7
End With
For k = 1 To 5
With spd
.Col = k
.Row = .ActiveRow
.Text = txt(k)
End With
Next
Public 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
というのを作成し、重複があればbに+1することによって
bの値を条件にして、書き込み可否を判断しようとしたのですが
bの値が上手く条件判断のところに渡ってくれません。
どうすればちゃんとbの値を渡してやることが出来るでしょうか?
もしくは他に良い方法はあるでしょうか?
よろしくご教示願います。
> Call chkRep
・・・
> Public Sub chkRep()
> Dim b As Integer
コレでは、参照できません。変数の参照可能な範囲(スコープ)ついては、
VBのヘルプの「変数の適用範囲」を参照ください。
「Visual Basic ドキュメント」
「Visual Basic の使用方法」
「プログラミングガイド」
「プログラミングの基礎」
「変数、定数、およびデータ型」
こういう場合は、プロシージャの引数とするか、関数にして戻り値にしてください。
ツイート | ![]() |