一次性将总表的内容,快速输入到100个工作表
因为工作上能用到VBA的情况并不多见,所以一直以来对VBA兴趣并不是很大。刚好,学员的这个案例,用VBA最合适,而且代码又不难,就顺便拿出来说明。
产品目录,记录着100多种产品的相关信息。
分表,要将商标(商品名)、有效成分及剂型、规格型号依次引用到相应的位置。
每个表引用一行内容,刚好借助循环语句就可以解决。
在开发工具,点VB,进入后台,插入模块,将代码粘贴进去,点运行。
Sub 一次性输入()
Dim i% '声明i为整数类型
For i = 2 To Sheets.Count '循环语句,Sheets.Count代表总共多少工作表
Sheets(i).Range("c4") = Sheets(1).Range("c" & i) '获取商标(商品名)
Sheets(i).Range("c5") = Sheets(1).Range("e" & i) '获取规格型号
Sheets(i).Range("h4") = Sheets(1).Range("d" & i) '获取有效成分及剂型
Next
End Sub
现在所有分表已经被我清空了内容,运行代码后,看看效果。1秒钟的时间,所有分表已经在相应的位置输入了内容,又快又准。
再拓展一个知识点,假如商标(商品名)跟工作表名称一样,这里还有其他解决方法。
就是先提取每个工作表名称到对应表格的C4。
Sub 提取工作表名称()
Dim i% '声明i为整数类型
For i = 2 To Sheets.Count '循环语句,Sheets.Count代表总共多少工作表
Sheets(i).Range("c4") = Sheets(i).Name 'Sheets(i).Name就是工作表的名称
Next
End Sub
有了唯一值的商标(商品名),剩下的就可以借助VLOOKUP函数查找。
选择第2个表的情况下,按住Shift键,选中最后一个表,这样就相当于将所有分表都选中,然后输入公式。
=VLOOKUP($C$4,产品目录!$C:$E,3,0)