如何用vb编程 把数据从一个工作表导入到另一个工作表
具体我想实现以下功能我现有工作表1和工作表2,表1格式为A列B列1行123.452行245.333行41.5684行73.4565行1634.56.........A列是...
具体我想实现以下功能
我现有工作表1和工作表2,表1格式为
A列 B列
1行 1 23.45
2行 2 45.33
3行 4 1.568
4行 7 3.456
5行 16 34.56
... ... ...
A列是序号,不过不连续,B列是对应的数据
工作表2格式如下
M列 M+1列 M+2列 ...
N行 1 2 3 ...
N+p行 "" "" "" ...
N行是序号,也不连续,不过包含表1的所有序号,N+P行是我想导入的位置
我想让工作表1的B列导入表2的N+P行,并且序号对应,就是对号入座,可以先将表1转置再编程,怎么都成,反正让他自动导入,对号入座就行。谁能帮我编个程序,谢谢了,
excel档, 用vba语言也行,最好是两个不同的电子档导入,如果不好办,就用一个电子档两个表,我要代码,因为我还有根据需要进行必要修改。上面的M和N都是固定的常量,为了简单起见,暂且假定M=5 N=10 N+P=14吧
我想要的结果最好是这样的:用VBA,在工作表3里面做一个带有两个按钮的窗体,from和to,点击from按钮出现浏览选择文件窗口,然后我可以选择表一,将表一数据导入表三,点击to按钮又可以出现浏览选择文件窗口,选择表二,然后可以将这些数据对号入座导入到表二。
感谢zipall,现在我已经用vlookup得到了表一,现在我需要用一个按钮自动将表一的d列(d列现在是公式),对号入座导入到表2的第4行(表2要用浏览选择文件),谁能帮我编一个程序?如果成功了我可以再加分,谢了! 展开
我现有工作表1和工作表2,表1格式为
A列 B列
1行 1 23.45
2行 2 45.33
3行 4 1.568
4行 7 3.456
5行 16 34.56
... ... ...
A列是序号,不过不连续,B列是对应的数据
工作表2格式如下
M列 M+1列 M+2列 ...
N行 1 2 3 ...
N+p行 "" "" "" ...
N行是序号,也不连续,不过包含表1的所有序号,N+P行是我想导入的位置
我想让工作表1的B列导入表2的N+P行,并且序号对应,就是对号入座,可以先将表1转置再编程,怎么都成,反正让他自动导入,对号入座就行。谁能帮我编个程序,谢谢了,
excel档, 用vba语言也行,最好是两个不同的电子档导入,如果不好办,就用一个电子档两个表,我要代码,因为我还有根据需要进行必要修改。上面的M和N都是固定的常量,为了简单起见,暂且假定M=5 N=10 N+P=14吧
我想要的结果最好是这样的:用VBA,在工作表3里面做一个带有两个按钮的窗体,from和to,点击from按钮出现浏览选择文件窗口,然后我可以选择表一,将表一数据导入表三,点击to按钮又可以出现浏览选择文件窗口,选择表二,然后可以将这些数据对号入座导入到表二。
感谢zipall,现在我已经用vlookup得到了表一,现在我需要用一个按钮自动将表一的d列(d列现在是公式),对号入座导入到表2的第4行(表2要用浏览选择文件),谁能帮我编一个程序?如果成功了我可以再加分,谢了! 展开
7个回答
展开全部
将sheet1中的数据对号入座放入sheet2中的代码是:
sub main()
for i= 1 to 12
if sheets(1).cells(i,"C")=sheets(2).cells(3,i+6) then'sheet1中的C列数据,如果等于Sheet2中第三行的对应数据
sheets(2).cells(3,i+6)=sheets(1).cells(i,"D")'则将sheet1中的D列数据,放入sheet2中对应的第四行中
end if
next i
end sub
sub main()
for i= 1 to 12
if sheets(1).cells(i,"C")=sheets(2).cells(3,i+6) then'sheet1中的C列数据,如果等于Sheet2中第三行的对应数据
sheets(2).cells(3,i+6)=sheets(1).cells(i,"D")'则将sheet1中的D列数据,放入sheet2中对应的第四行中
end if
next i
end sub
展开全部
在工作表中可以直接用vlookup完成,如果非得vba,vba中也可以调用工作表函数。
Sub test()
With Sheets("sheet2")
For c = 5 To 100
Cells(14, c) = Application.WorksheetFunction.VLookup(Cells(10, c), Sheets("sheet1").Range("a:b"), 2, 0)
Next
End With
End Sub
Sub test()
With Sheets("sheet2")
For c = 5 To 100
Cells(14, c) = Application.WorksheetFunction.VLookup(Cells(10, c), Sheets("sheet1").Range("a:b"), 2, 0)
Next
End With
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用Vlookup函数
Sub DY()
For R = 2 To Sheet1.Range("A65536").End(xlUp).Row
Sheet2.Range("B2") = Sheet1.Range("A" & R).Value
Sheet2.PrintPreview
Next
End Sub
Sub DY()
For R = 2 To Sheet1.Range("A65536").End(xlUp).Row
Sheet2.Range("B2") = Sheet1.Range("A" & R).Value
Sheet2.PrintPreview
Next
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是一个电子档里的2个表用VBA方便点,如果是2个不同的电子档的话就另想办法了。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不难,不过你把一个简单的问题描述的挺复杂的。如果可以,你把源数据给我,请详细说明想要的结果。QQ1073953380
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询