データベースにポイントを追加するExcelワークシート用のマクロをいくつか作成しています。エントリは緯度と経度の値に関して一意である必要があるので、ユーザが入力しようとした後にエントリの緯度/経度をチェックするコードをいくつか追加しました。これは、保留中のエントリの緯度/経度をデータベース内のすべてのものと照合することを目的としています。一致する場合、エラーを返します。ここでは、コードは次のとおりExcelデータベースのVBAカウンタ
x = 2
Do Until (Worksheets("DBase").Cells(x, 3).Value = "")
If Worksheets("DBase").Cells(x, 3).Value = lat And Worksheets("DBase").Cells(x,
4).Value = lon Then
GoTo coorAbort
Else
x = x + 1
End If
Loop
xは、行カウンタ、緯度と経度は/ LATが長いユーザによって入力されていますであり、coorAbortはエラーメッセージのセクションです。次の行へのループを進めるためのカウンタを除いて、すべてうまく動作しますが、動作していないようです。 2行目のエントリをチェックしてループを終了し、コードの次の部分に移動します。私は何か小さな混乱を持っていると確信しています、私はちょうどそれを選ぶように見えることはできません。誰にでもアイデアはありますか?
デバッガでコードをステップ実行しようとしましたか? –
はい。現在、私は2つのデータベースエントリでそれをテストしています。最初のエントリと同じlat/longを持つ3番目のエントリを追加しようとすると、coorAbortエラーメッセージが表示されます。しかし、2番目のエントリと同じ緯度/経度の3番目を追加しようとすると、カウンタは実際に動作し(デバッガでステップ実行します)、if文で比較を行いますが、何らかの理由で互いに等しくなく、ループを通って継続する。 – Brendan