注册 登录
编程论坛 VB6论坛

VB6根据TEXT内容索引EXCEL的问题

alickluo 发布于 2023-06-21 20:17, 1042 次点击
各位老师:

有两个问题,请教一下:
(1) afc.xlsx文件有很多行内容,需要查询A列含有"CKKR"字段所在的行,并用该行内容创建一个新文件abb.xlsx

(2) afc.xlsx文件有很多行内容,需要查询A列含有Text1字段所在的行,并将查询后的指定某列内容赋值给text2

万分感谢

[此贴子已经被作者于2023-6-21 20:18编辑过]

3 回复
#2
约定的童话2023-06-21 21:15
最好上个附件看下
#3
厨师王德榜2023-06-25 15:52
如果数据格式比较规范的话,可以用RecordSet模型 + SQL查询语句来做,这样比较快.
#4
阳光上的桥2023-06-26 09:43
问题1的示例代码:
程序代码:

Dim oExcel as Object, arr, i as Long, j as Long
Set oExcel = CreateObject("Excel.Application")
With oExcel.WorkBooks.Open("afc.xlsx")
    arr = .Sheets(1).UsedRange
    For i=1 to UBound(arr)
        If InStr(arr(i,1), "CKKR")>0 Then Exit For
    Next i
    .Close
End With
If i>UBound(arr) Then
    MsgBox "没找到"
    Exit Sub
End if
With oExcel.WorkBooks.Add
    For j=1 to UBound(arr,2)
        .Sheets(1).Cells(1, j) = arr(i,j)
    Next i
    .SaveAs "abb.xlsx"
    .Close
End With
oExcel.Quit


问题2算问题1的举一反三吧,可以先自己想一想再对答案

问题2的示例代码:
程序代码:

Dim oExcel as Object, arr, i as Long, j as Long
Set oExcel = CreateObject("Excel.Application")
With oExcel.WorkBooks.Open("afc.xlsx")
    arr = .Sheets(1).UsedRange
    For i=1 to UBound(arr)
        If InStr(arr(i,1), Text1.Value)>0 Then
            Text2.Value = arr(i,2)
            Exit For
        End If
    Next i
    .Close
End With
oExcel.Quit
If i>UBound(arr) Then
    MsgBox "没找到"
    Exit Sub
End if
1