|
▼あき さん:
>はじめまして
>というマクロでNameとAddress入力時にそれぞれdata.csvのデータ内容を検索し重複が無い場合はdata.csvに書き込み重複データがあった場合は警告メッセージを出し、もう一度入力させたいです。
>補足:NameとAddressの入力毎にata.csvのデータ内容を検索するようにさせたい
>よろしくお願い致します。
データの量によりますが、
配列に入れて比較する
data.csvに保存したら並べ替えでソートしておくと便利です。
参考に配列に格納する方法ですが、他にも
Z = WBK3.Sheets(1).Cells(i, 4).Resize(1, 11).Valueのような
範囲を決めてする方法もあります。
配列IDはPUBLICで宣言して下さい。
' 参照設定:Microsoft Scripting Runtime
Sub READ_File()
Dim mypath As String
Dim cnsFILENAME As String
mypath = ThisWorkbook.Path
cnsFILENAME = mypath & "\data.csv"
Dim FSO As New FileSystemObject ' FileSystemObject
Dim TS As TextStream ' TextStream
Dim strREC As String ' 読み込んだレコード内容
Dim GYO As Long ' 収容するセルの行
Dim S1 As Integer
' 指定ファイルをOPEN(入力モード)
Set TS = FSO.OpenTextFile(cnsFILENAME, ForReading)
GYO = 1
' ファイルのEOF(End of File)まで繰り返す
Do Until TS.AtEndOfStream
' 改行までをレコードとして読み込む
strREC = TS.ReadLine
S1 = InStr(strREC, ",")
ID(GYO, 1) = Mid$(strREC, 1, S1 - 1)
ID(GYO, 2) = Mid$(strREC, S1 + 1, 20)
GYO = GYO + 1
Loop
' 指定ファイルをCLOSE
TS.Close
Set TS = Nothing
Set FSO = Nothing
End Sub
|
|