本帖最后由 砂海 于 2024-3-13 20:54 编辑
With ActiveWorkbooks
brr = ActiveSheet.[a1].CurrentRegion
'分表中需要的字段组成临时字段组,方便提取查找数据
ReDim br(0 To 3) '13个字段
br(0) = Range(a1).Column
br(1) = Range(a2).Column
br(2) = Range(a3).Column
br(3) = Range(a4).Column
' temp = ...
' For i = 0 To 3
' br(i) = ActiveSheet.UsedRange.Find(temp(i)).Column '鉴于列不连续,代码查找4个字段所在位置
' Next i
End With
===============================
brow = Sheets("助学").Cells(Rows.Count, "b").End(xlUp).Row
Sheets("助学").Range("b" & brow + 1).Resize(k, 4) = arr
' "助学", 建议 改为 变量
========================================
这样就可以运行了
========================================
PS:
'选择要匹配的导入字段
10: '(对话框显示内容,对话框标题,对话框默认值,X坐标,Y坐标,帮助文件,帮助文件ID,对话框内容类型)
aa1 = Application.InputBox(" 第1步:学校匹配" & Chr(13) & Chr(13) & " 本表哪个字段与 “学校名称”字段匹配 ?" & Chr(13) & Chr(13) & " **必选**--用鼠标点选字段 ", Title:=" 字段选择:", Default:="$B$3", Type:=2)
If Len(aa1) <= 0 Then MsgBox "没有选择匹配的字段, 请重新选择!": GoTo 10
If aa1 = "False" Then: ActiveWorkbook.Close SaveChanges:=False: Exit Sub
If Len(aa1) > 0 Then a1 = aa1
20:
...
直接循环 不好么?
for i=0 to 3
br(i)=input( 文本(i) .......,Default:=地址(i),Type:=8).column ' 8 是单元格类型
...
next i
|