Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4734|回复: 4

[已解决]某个单元格的值人工输入,其它单元格的值根据这个单元格的值自动填充

[复制链接]
发表于 2016-3-9 22:49 | 显示全部楼层 |阅读模式
某个单元格的值人工输入,其它单元格的值根据另一个工作表中的这个单元格的值自动填充
如下图,比如BOM这个工作表的【件号/规格型号】字段人工输入后,他自动在Item这个工作表中去找相应的字段【FModelSpecification】,找到后将【物料属性】、【物料状态】等字段自动填充,不需要人工输入,找不到则不用管。
1、【物料属性】对应Item工作表的【FMaterialProperty】
2、【物料状态】对应Item工作表的【FMaterialState】
1.png
2.png
C202其它外饰系列BOM.xls.zip (35.96 KB, 下载次数: 35)
发表于 2016-6-17 13:09 | 显示全部楼层    本楼为最佳答案   
应该是这个代码,其他单元格因为不清楚对应关系,你自己增加即可

C202其它外饰系列BOM.rar

35.1 KB, 下载次数: 61

回复

使用道具 举报

 楼主| 发表于 2016-6-20 11:12 | 显示全部楼层
xingkongwubian 发表于 2016-6-17 13:09
应该是这个代码,其他单元格因为不清楚对应关系,你自己增加即可

感谢你,请问以下的内容怎么理解?
ar = Sheet1.UsedRange: br = Sheet3.UsedRange ‘这个怎么理解?我没有学习过。
For i = 2 To UBound(br)   ‘这个循环UBound啥子意思?
    For j = 4 To UBound(ar)
    If ar(j, 16) = br(i, 22) Then
    ar(j, 22) = br(i, 20)  ’这个是数组吗?
    ar(j, 23) = br(i, 21)
    End If
    Next j
Next i
Sheet1.Range("a1").Resize(UBound(ar), 44) = ar  ‘Resize呢?


回复

使用道具 举报

发表于 2016-6-20 13:23 | 显示全部楼层
pandengyisun 发表于 2016-6-20 11:12
感谢你,请问以下的内容怎么理解?
ar = Sheet1.UsedRange: br = Sheet3.UsedRange ‘这个怎么理解?我 ...

br = Sheet3.UsedRange,这个是给数组赋值语句,就是把sheet3中用过的单元格范围赋值给数组br
Ubound()指的是返回括号内对象的行数;ar(j, 22) = br(i, 20)是数组间数值转换;resize指的是重新定义所要赋值的范围,即行数和列数,这个行数和列数必须与数组的大小相一致,否则会出错
回复

使用道具 举报

 楼主| 发表于 2016-6-20 16:35 | 显示全部楼层
xingkongwubian 发表于 2016-6-20 13:23
br = Sheet3.UsedRange,这个是给数组赋值语句,就是把sheet3中用过的单元格范围赋值给数组br
Ubound() ...

感谢你的耐心指导。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 13:41 , Processed in 0.206158 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表