我有两个文件 第一个数据如下:  
 1 ,民V5018, 1.57  
 1 ,5210, 1.29, 359.5959, 91.0546, 28.521, 180.0003, 268.5425, 28.521 
 2 ,KK 1, 0, 113.1237, 90.2903, 20.068, 0, 0, 0 
 15 ,A 4, 0, 222.1614, 89.2742, 53.332, 0, 0, 0 
 16 ,A 5, 0, 223.4622, 89.4523, 48.679, 0, 0, 0 
 20 ,民V5017, 2.15, 206.4857, 89.5433, 320.498, 26.491, 270.0529, 320.498 
 21 ,5212, 1.29, 295.4938, 90.1534, 56.235, 115.4947, 269.4451, 56.236 
  …… 
 2 ,民V5013, 1.568  
 22 ,民V5017, 1.29, 0, 90.1854, 56.238, 180.0011, 269.4119, 56.238 
 23 ,5213, 1.29, 102.4757, 90.3851, 41.473, 282.4806, 269.2124, 41.473 
 24 ,L 1, 0, 19.2003, 94.0807, 8.691, 0, 0, 0 第二个文件数据如下: 
z5 

20 
民V5017 
民V5018 
5212 
…… 
5233 
民V5013 
民V5017
两个文件中的行数不定     
我想用第二个文件中的第四个数据,和文件中最后一个数据来判断第一个文件中是否有这个数据, 
如果有就把这一整行数据赋值给一个变量A和B要怎么做呢???    在text1中显示
即第二个文件中的(民V5017和民V5017)这两个数据用来搜索第一个文件中的(20 ,民V5017, 2.15, 206.4857, ……) 
 和(22 ,民V5017, 1.29, 0, 90.1854……)这两行这里有个问题就是     有两个 民V5017   而要的数据又不是同一行
所以要以第二个文件中第五个数据(民V5018),和倒数第二个数据(民V5013) ,来判断第一个文件中(民V5017)对应的那一行数据比如先判断  1 ,民V5018, 1.57 这一行   再搜索后面对应的民V5017    
比如先判断  2 ,民V5013, 1.568这一行  再搜索后面对应的民V5017
还有一种情况出现就是:   1号文件中会有相同的数据如:
 1 ,民V5018, 1.57    就是这行
 1 ,5210, 1.29, 359.5959, 91.0546, 28.521, 180.0003, 268.5425, 28.521 
 2 ,KK 1, 0, 113.1237, 90.2903, 20.068, 0, 0, 0 
 15 ,A 4, 0, 222.1614, 89.2742, 53.332, 0, 0, 0 
 16 ,A 5, 0, 223.4622, 89.4523, 48.679, 0, 0, 0 
 20 ,民V5017, 2.15, 206.4857, 89.5433, 320.498, 26.491, 270.0529, 320.498 
 21 ,5212, 1.29, 295.4938, 90.1534, 56.235, 115.4947, 269.4451, 56.236 
  …… 
 2 ,民V5018, 1.568    就是这行
 22 ,民V5017, 1.29, 0, 90.1854, 56.238, 180.0011, 269.4119, 56.238 
 23 ,5213, 1.29, 102.4757, 90.3851, 41.473, 282.4806, 269.2124, 41.473 
 24 ,L 1, 0, 19.2003, 94.0807, 8.691, 0, 0, 0 如果出现这种情况就先其一就行拉?
问题有点乱  还望高手细阅
thank you

解决方案 »

  1.   

    你是否这个意思?文件1: 1 ,民V5018, 1.57   
     1 ,5210, 1.29, 359.5959, 91.0546, 28.521, 180.0003, 268.5425, 28.521  
     2 ,KK 1, 0, 113.1237, 90.2903, 20.068, 0, 0, 0  
     15 ,A 4, 0, 222.1614, 89.2742, 53.332, 0, 0, 0  
     16 ,A 5, 0, 223.4622, 89.4523, 48.679, 0, 0, 0  
     20 ,民V5017, 2.15, 206.4857, 89.5433, 320.498, 26.491, 270.0529, 320.498  
     21 ,5212, 1.29, 295.4938, 90.1534, 56.235, 115.4947, 269.4451, 56.236  
      ……  
     2 ,民V5013, 1.568   
     22 ,民V5017, 1.29, 0, 90.1854, 56.238, 180.0011, 269.4119, 56.238  
     23 ,5213, 1.29, 102.4757, 90.3851, 41.473, 282.4806, 269.2124, 41.473  
     24 ,L 1, 0, 19.2003, 94.0807, 8.691, 0, 0, 0 文件2:z5  
    5  
    20  
    民V5017  
    民V5018  
    5212  
    ……  
    5233  
    民V5013  
    民V5017现在要在文件 1 中查找含有文件 2 第 4 行和最后一行内容(这两行内容相同)的两行数据,分别赋值给变量 A 和 B。
    附加条件是,在含有第 5 行(民V5018)的记录之后的含有第 4 行的记录是 A, 而在含有倒数第 2 行数据的记录之后含有最后一行内容的记录是 B.
     
      

  2.   

    对啊
    我是想要
    1 ,民V5018, 1.57   这一行下的
     20 ,民V5017, 2.15, 206.4857, 89.5433, 320.498, 26.491, 270.0529, 320.498   民V5017这一行

    2 ,民V5013, 1.568   这一行下的
     22 ,民V5017, 1.29, 0, 90.1854, 56.238, 180.0011, 269.4119, 56.238     民V5017这一行
     
       上面的那两行 赋值给变量 A是 用  msgbox "这为民V5018下的民V 5017"  & a
     msgbox "这为民V5013下的民V 5017" & b
      

  3.   

    这样:
    Dim strFile As String, arrLine() As String, strTmp As String
    Dim index As Integer
    Dim reff(1 To 2) As String
    Dim cont(1 To 2) As StringDim A As String, B As String
    Open "c:/file2.txt" For Binary As #1
    strFile = Space(LOF(1) - 4)
    Get #1, , strFile
    Close #1arrLine = Split(strFile, vbCrLf)reff(1) = Trim(arrLine(4))
    cont(1) = Trim(arrLine(3))index = UBound(arrLine)
    reff(2) = Trim(arrLine(index - 1))
    cont(2) = Trim(arrLine(index))index = 0
    Open "c:/file1.txt" For Input As #1
    Do Until EOF(1)
        Line Input #1, strTmp
        If InStr(strTmp, reff(1)) Then index = 1
        If InStr(strTmp, reff(2)) Then index = 2
        
        If (index = 1) And InStr(strTmp, cont(1)) Then A = strTmp
        If (index = 2) And InStr(strTmp, cont(2)) Then B = strTmp
    Loop
    Close #1Debug.Print A
    Debug.Print B
      

  4.   

    msgbox c & a    'C为第二个文件中的第五个数
    msgbox d & b    'd为第二个文件中的倒数第二个数
      

  5.   

    应该是我没看到,最近白天不能上csdn了。
      

  6.   

    那你现在进去看一下拉
    你上次的那个
    能再帮我看一下吗?
    If Len(s) Then  
                i = i + 1  
                If i = 4 Then  
                    the4 = s  
                End If  
                thelast = s  
            End If  
        Loop While Not EOF(1)  
    你这里的the4是第四个数是因为i=i+1  
    后面的thelast是怎么找到最后一个数的  
    如果我想要倒数第二个呢?/