一次性将总表的内容,快速输入到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)
(0)

相关推荐