怎么写wps宏代码运行区域

代码需要在指定的表格区域生效
生效区域为B9:J17

function Application_SheetSelectionChange()
{
    for(var ii=9;ii<=17;ii++)
    {
       switch (true)
        {
     
        case Cells(ii,2).Value2 != undefined && Cells(ii,4).Value2 > 0 && Cells(ii,5).Value2 > 0:
            Cells(ii,8).Value2=Cells(ii,4).Value2*Cells(ii,5).Value2;
            break;
        default:
            Cells(ii,8).Value2="";
            break;
        }
        switch (true)
        {
        case Cells(ii,2).Value2 != undefined && Cells(ii,9).Value2 > 0 && Cells(ii,10).Value2 > 0:
            Cells(ii,11).Value2=Cells(ii,9).Value2*Cells(ii,10).Value2;
            break;
        default:
            Cells(ii,11).Value2="";
            break;
        }
    }

}

img

思路:1判断目标的工作表名称是否符合;2判断目标是否在B9:L17单元格区域,用Application.Intersect方法;3获取B9:L17单元格数据,用forEach循环处理数据

function Workbook_SheetSelectionChange(Sh, Target) {
    if (Sh.Name != '销售单') return
    let rng = Application.Intersect(Target, Range('B9:L17'))
    if (rng) {
        let data = Range('B9:L17').Value2
        let ros = 9
        data.forEach(i => {
            if (i[0] && i[2] && i[3]) {
                Cells(ros, 8).Value2 = i[2] * i[3]
            } else { Cells(ros, 8).Value2 = '' }

            if (i[0] && i[7] && i[8]) {
                Cells(ros, 11).Value2 = i[7] * i[8]
            } else { Cells(ros, 11).Value2 = '' }

            ros++
        })

    }
}

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 请看👉 :打开WPS时出现报错窗口提示
  • 除此之外, 这篇博客: 点击文件实现WPS工具预览功能中的 二、在路由配置文件中,增加页面 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    在这里插入图片描述

    {
        path: '/viewReport',
        name: '查看文件',
        component: () => import('@/components/wps-components/index')
      }
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^