|

楼主 |
发表于 2023-9-2 22:04
|
显示全部楼层
本帖最后由 fsdbbs 于 2023-9-4 19:34 编辑
右边按钮代码完工(左边侧舍弃,可能有更好的,我搜索不动了。)
都拼凑的,代码感觉有点乱,走过路过的大佬,大神帮优化一下嘛,先谢谢了
代码都论坛+百度来的,喜欢的随便拿走,能帮优化一下更好。
形状按钮换回宏按钮
- //WPS JSA 增删改查
- //查询
- function CommandButton2_Click(){
- var gztSt,xxkSt,cxKey,intRow,dateRow,cxMaxRow,bcMaxRow,xxkMaxRow,mbRow; //声明常用变量
- /* gztSt 查询工作台,xxkSt 数据信息库,cxKey 查询关键字 mbRow 信息库查询标行 intRow 表头标题行, dateRow 保存数据起始行
- cxMaxRow 查询前工作台最后行 bcMaxRow 查询后工作台最后行 xxkMaxRow 信息库最后行*/
- gztSt=Sheets.Item("工作台"); xxkSt=Sheets.Item("信息库");
- cxKey=gztSt.Range("H2").Value2; //intRow=5; dateRow=6;
- xxkMaxRow=xxkSt.Cells(Rows.Count,"A").End(xlUp).Row; //查看信息库A列最后行 UsedRange.Rows.Count
- bcMaxRow=gztSt.Cells(Rows.Count,"G").End(xlUp).Row; //查看查询台A列最后行
-
- if(bcMaxRow>5){
- gztSt.Range("G6:J"+bcMaxRow).ClearContents(); //清空查询台数据显示区
- }
- let f=xxkSt.Range("A3:A"+xxkMaxRow).Find(cxKey);
- if(f==undefined){
- if(cxKey==null){
- MsgBox("工号还没填,查空气甜不甜?")
- }else{
- MsgBox("工号:"+cxKey+" 没有找到!");
- }
- }else{
- var arr=xxkSt.Range("A3:D"+xxkMaxRow).Value();
- var brr=arr.filter((v,i)=>v[0]== cxKey)
- gztSt.Range("G6").Resize(brr.length,4).Value2=brr //从G6输出筛选结果
- }
- }
- //保存
- function CommandButton3_Click(){
- var gztSt,xxkSt,cxKey,intRow,dateRow,cxMaxRow,bcMaxRow,xxkMaxRow,mbRow; //声明常用变量
- gztSt=Sheets.Item("工作台"); xxkSt=Sheets.Item("信息库");
- cxKey=gztSt.Range("H2").Value2; intRow=5; dateRow=6;
- bcMaxRow=gztSt.Cells(Rows.Count,"G").End(xlUp).Row; //查看查询台A列最后行
- xxkMaxRow=xxkSt.Cells(Rows.Count,"A").End(xlUp).Row; //查看信息库A列最后行
-
- if(gztSt.Range("G6").Value2==null){
- MsgBox("没有数据可保存");
- }else{
- let ln=bcMaxRow-dateRow;
- for(let i=0; i<=ln; i++){
- let n=i+dateRow;
- let gzt1=gztSt.Range("G"+n)
- let f=xxkSt.Range("A3:A"+xxkMaxRow).Find(gzt1);
- let ii=i+dateRow;
- var msg;
- if(f==undefined){
- let k=xxkMaxRow+1+i;
- xxkSt.Cells(k,1).Value2=gztSt.Cells(ii,7).Value2;
- xxkSt.Cells(k,2).Value2=gztSt.Cells(ii,8).Value2;
- xxkSt.Cells(k,3).Value2=gztSt.Cells(ii,9).Value2;
- xxkSt.Cells(k,4).Value2=gztSt.Cells(ii,10).Value2;
- let ghNo=gzt1.Value2
- msg="工号:"+ghNo+" 已新增!"
- }else{
- let j=f.Row;
- let jj=j+i;
- xxkSt.Cells(jj,1).Value2=gztSt.Cells(ii,7).Value2;
- xxkSt.Cells(jj,2).Value2=gztSt.Cells(ii,8).Value2;
- xxkSt.Cells(jj,3).Value2=gztSt.Cells(ii,9).Value2;
- xxkSt.Cells(jj,4).Value2=gztSt.Cells(ii,10).Value2;
- let ghNo=gzt1.Value2
- msg="工号:"+ghNo+" 已更新!"
- }
- MsgBox(msg);
- }
- }
-
- if(bcMaxRow>5){
- gztSt.Range("G6:J"+bcMaxRow).ClearContents(); //清空查询台数据显示区
- }
- }
- //删除
- function CommandButton4_Click(){
- var gztSt,xxkSt,cxKey,intRow,dateRow,cxMaxRow,bcMaxRow,xxkMaxRow,mbRow; //声明常用变量
- gztSt=Sheets.Item("工作台"); xxkSt=Sheets.Item("信息库");
- intRow=5; dateRow=6; //cxKey=gztSt.Range("H2").Value2;
- bcMaxRow=gztSt.Cells(Rows.Count,"G").End(xlUp).Row; //查看工作台A列最后行
- xxkMaxRow=xxkSt.Cells(Rows.Count,"A").End(xlUp).Row; //查看信息库A列最后行
- // Console.log(xxkMaxRow); //立即窗口输出xxkMaxRow值
-
- if(gztSt.Range("G6").Value2==null){
- MsgBox("没有数据可删除");
- }else{
- var ln=bcMaxRow-dateRow;
- for(let i=0; i<=ln; i++){
- let n=i+dateRow;
- let ghNo=gztSt.Range("G"+n).Value2
- let f=xxkSt.Range("A3:A"+xxkMaxRow).Find(ghNo);
- if (f==undefined){
- var msg="工号:"+ghNo+" 没有找到!"
- }else{
- let j=f.Row;
- xxkSt.Range("A"+j).EntireRow.Delete();
- var msg="工号:"+ghNo+" 已删除!"
- }
- MsgBox(msg);
- }
- if(bcMaxRow>5){
- gztSt.Range("G6:J"+bcMaxRow).ClearContents(); //清空查询台数据显示区
- }
- }
- }
- //清除
- function CommandButton5_Click()
- {
- let sht=Sheets.Item("工作台");UsedRange.Rows.Count
- let i=sht.Cells(Rows.Count,"G").End(xlUp).Row; //查看查询显示区A列最后行
- if(i>5){
- sht.Range("G6:J"+i).ClearContents(); //清空查询数据显示区
- }
- }
复制代码
补充内容 (2023-9-5 09:39):
代码113 行 “UsedRange.Rows.Count” 是不需要的,不知道咋跑出来的 |
|