一定要用VBA吗?
用函数公式很容易就解决了
假设截图左上角单元格为A1,且第一张图的数据在工作表SHEET1
则第二张表中的B2单元格可输入公式:=INDEX(SHEET1!$A:$N, MATCH($A2,SHEET1!$B:$B,0), MATCH(B$1, SHEET1!$1:$1, 0))
然后右拉、下拉即可
另外,最好按工号检索,因为姓名可能会有重名。
按工号检索时,假设A列是工号,B列是姓名,C列开始是月份,
则公式为:=INDEX(SHEET1!$A:$N, MATCH($A2,SHEET1!$A:$A,0), MATCH(C$1, SHEET1!$1:$1, 0))
row 和column 是单元格 返回行号和列标的属性,该属性只读.
要定位一个单元格可以使用find方法.
function chaxun(tj1,tj2)
Dim tash As Worksheet
Set tash = Sheets("原始表")
h = tash.Columns(2).Find(tj1, lookat:=xlWhole).Row
l = tash.Rows(1).Find(tj2, lookat:=xlWhole).Column
chaxun = tash.Cells(h, l)
end function