《SAP BPC项目中,快速修改大体量表单的故事》
有些需求的体量有时会让你吓一跳,但是冷静下来分析,你会发现快速解决的办法,这个故事可以讲一讲。
用户需求
原表(500家公司,1000行数据):
希望改成下面的样子(500家公司,1500行数据):
每个公司原来有两行(年度列为2012和2013),现在需要插入一行(年度列邢家的行值为2011)。
解决方案:总共两大步,关键是第一步。
1.插入行
一行一行插入,不是我的风格。
这里,我采用了EXCEL的功能,实现快速插入行。
1.1 在表格右侧的空列,年度列值为2013的行,写入值1(总共写500个1,这个用EXCEL的自动功能就可以实现,这里不再啰嗦)。
1.2 ,选中这1000个单元格(包括没有写值的单元格)
1.3 按组合键Ctrl+G,弹出界面:
1.4 点击界面中的“定位条件”按钮(红色方框标注的地方),弹出界面:
1.5 选中界面中的“空值”(红色方框标注的地方),点击“确定”按钮,结果如下(所有的没有填写1的单元格被选中):
1.6 在被选中的第一个单元格上,鼠标右键,弹出菜单,选“插入”:
弹出界面:
1.7 选中插入“整行”(红色方框标注的地方),结果如下:
行是快速插入了,但是公司列的合并单元格,得一个个合并,每个合并1次,500次合并,咱不这么干。
1.8 把原表复制一份,在表格右侧空列插入1列值,同前,然后组合键Ctrl+G,弹出界面:
选中“定位条件”,弹出界面:
1.9 选择“常量”,确定,结果如下:
新插入列的所有值为1的,都被选中了,在第一个1上鼠标右键,菜单中选择“插入”:
结果如下:
这个结果中,公司列的单元格符合我们的要求,复制到前面的表中,公司列合并单元格的问题得以解决:
2.复制公式
2.1 方法1:在年度列的第一行,填写需要的值(这个跟第2、3行一行,是通过公式获取的值),然后选中这3行,复制到后面的1497行(1500-3=1497),年度列公式完成
2.1 方法2:通过宏实现,宏代码如下(仅供参考,需要根据实际修改):
Sub 隔N行复制(FRow As Long, TRow As Long, ST As Long, FCol As String, TCol As String)
Application.CutCopyMode = False
For i = FRow To TRow Step ST
Range(FCol & i + 1 & ":" & TCol & i + 1).Select '选中区域
Selection.Copy
Range(FCol & i).Select
ActiveSheet.Paste '粘贴
Next
Range(FCol & TRow).Select
End Sub
Public Sub 复制表1()
隔N行复制 39, 851, 3, "R", "AF" '复制公式
隔N行复制 39, 851, 3, "K", "N" '复制配置
MsgBox ("Sir,Mission Completed!")
End Sub
(正文结束)
附1:关于本公众号
微信公众号ID:SAP-BPC
微信公众号名称:BPC123
欢迎您的关注和阅读,希望这篇文章能为您带来帮助。
欢迎转载与分享,也请注明出处。
如果您有需要了解的关于BPC的其他内容,也可以给我留言或发邮件(chaijw@126.com)
识别下面的二维码,或者直接搜BPC123,或者SAP-BPC,可以关注本公众号。