[Excel+VBA]如何查找某个表格里的数据并将相关数据复制到另一个表中的相应列中?

[Excel+VBA]如何查找某个表格里的数据并将相关数据复制到另一个表中的相应列中?,第1张

用函数也可以

数组公式

=INDEX(三角网原始数据!A:A,SMALL(IF(ISNUMBER(FIND("编号",三角网原始数据!$A$1:$A$100)),ROW(三角网原始数据!$A$1:$A$100),65536),ROW(A1)))&""

同时按CTRL SHFIT 回车键

出现结果,下拉公式

第3列同理

VBA的要依次循环包含了 编号或 挖方的数据

或设置 步长

复制到 sheet1表

Sub 编号()

Dim i, n

n = 2

For i = 1 To Sheets("三角网原始数据").Range("a65536").End(xlUp).Row Step 6

n = n + 1

Cells(n, "a") = Sheets("三角网原始数据").Cells(i, "A")

Cells(n, "C") = Sheets("三角网原始数据").Cells(i + 4, "A")

Next

End Sub

A3=RIGHT(INDEX(三角网原始数据!A:A,SMALL(IF(ISNUMBER(FIND("编号",三角网原始数据!$A$1:$A$100)),ROW(三角网原始数据!$A$1:$A$100),65536),ROW(A1)))&"",LEN(INDEX(三角网原始数据!A:A,SMALL(IF(ISNUMBER(FIND("编号",三角网原始数据!$A$1:$A$100)),ROW(三角网原始数据!$A$1:$A$100),65536),ROW(A1)))&"")-3)

C3=MID(INDEX(三角网原始数据!A:A,SMALL(IF(ISNUMBER(FIND("挖方",三角网原始数据!$A$1:$A$100)),ROW(三角网原始数据!$A$1:$A$100),65536),ROW(A1)))&"",4,FIND("填方",INDEX(三角网原始数据!A:A,SMALL(IF(ISNUMBER(FIND("挖方",三角网原始数据!$A$1:$A$100)),ROW(三角网原始数据!$A$1:$A$100),65536),ROW(A1)))&"")-5)

数组公式

软件版本:Office2007

方法如下:

1.提取Sheet1中A列数据到Sheet2的A列中:

2.Alt+F11,输入代码如下:

Sub m()

For i = 1 To Range("A65536").End(3).Row '从A列第一行到最后一个非空行循环

Sheets(2).Cells(i, "A") = Cells(i, "A") '赋值给Sheet2中的同样单元格当前单元格内容

Next

End Sub

3.F5执行代码,结果如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6889879.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存