| 
    
     |  | ▼あき さん: >はじめまして
 >というマクロで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
 
 |  |