Private Sub Worksheet_SelectionChange(ByVal Target As Range) RR = Target.Row '填充F列凭证编号公式(公式已转换成了名称) If Target.Column = 2 And Target.Row > 6 Then '第2列并且(And)大于第6行 执行 For i = 0 To 0 '点击下加20个单元格填充公式 R = RR + i Cells(R, "a").Formula = Replace("=序号", 3, R) '"F"前面 加R, 下加填充,否则本行填充。 (注意:插入名称时,一定把光标放在取得公式所在列的起始单元格。) Cells(R, "c").Formula = Replace("=规格型号", 3, R) Cells(R, "d").Formula = Replace("=单位", 3, R) Cells(R, "g").Formula = Replace("=金额", 3, R) Next i End If '填充F列凭证编号公式(公式已转换成了名称) Range("B4") = [IF($B3="","",VLOOKUP(B3,客户!$A$2:$C$9726,2,0))] Range("B5") = [IF($B3="","",VLOOKUP(B3,客户!$A$2:$C$9726,3,0))] 'Range("G15") = Range("G7") + Range("G8") + Range("G9") + Range("G10") + Range("G11") + Range("G12") + Range("G13") + Range("G14") ' Range("B15") = ["大写:" & N2RMB(G15)] ' If Target.Count > 2 Or Intersect(Target, Range("B3")) Is Nothing Then Exit Sub 'UserForm1.Show End Sub解释以上代码的每个词,并转换为wps的js代码
时间: 2023-07-13 15:06:05 浏览: 254
以上代码是一段Excel VBA代码,其作用是在选定单元格发生变化时,自动填充一些公式和数据,其中包括:
1. 获取选定单元格所在的行号,存储在变量RR中。
2. 判断选定单元格是否为第2列并且行号大于6,如果满足条件则循环20次,依次填充F列的公式(公式已经转换成了名称),包括序号、规格型号、单位和金额。
3. 填充客户信息,根据B3单元格的值在客户表中查找对应的客户名称和地址,并填充到B4和B5单元格中。
现将代码转换为WPS的JS代码:
```
function Worksheet_SelectionChange(Target) {
var RR = Target.Row;
if (Target.Column == 2 && Target.Row > 6) {
for (var i = 0; i <= 0; i++) {
var R = RR + i;
Cells(R, "a").Formula = "=序号".replace(3, R);
Cells(R, "c").Formula = "=规格型号".replace(3, R);
Cells(R, "d").Formula = "=单位".replace(3, R);
Cells(R, "g").Formula = "=金额".replace(3, R);
}
}
Range("B4").value = "=IF($B3="", "", VLOOKUP(B3,客户!$A$2:$C$9726,2,0))";
Range("B5").value = "=IF($B3="", "", VLOOKUP(B3,客户!$A$2:$C$9726,3,0))";
}
```
需要注意的是,WPS的JS代码中没有像VBA代码中那样可以直接访问单元格对象和其属性,需要使用WPS自带的类似于Excel公式的语法来操作单元格。
阅读全文