Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 848|回复: 7

[已解决]求VBA提示缺少结束语句是什么问题

[复制链接]
发表于 2022-5-27 18:01 | 显示全部楼层 |阅读模式
下面黄色语句是刚加进去的,帮忙大师看下提示确实结束语句是什么问题, 谢谢
With ActiveSheet
     .Range("D4") = ""
     .Range("D5") = ""
     .Range("G5") = ""
     .Range("I5") = ""

     .Range("C8:J57").ClearContents

     .Range("D59") = ""

     .Range("M1") = Format(Now(), "yyyy-m-d")
     .Range("G4") = "=text(M1,""yyyy-m-d"")"
     .Range("I4") = "=" & Sheet13.Name & "!$C$9&" & Sheet13.Name & "!$C$12&TEXT(M1," & Sheet13.Name & "!$C$10)&" & Sheet13.Name & "!$C$12&TEXT(M2," & Sheet13.Name & "!$C$11)"
'     .Range("H56:I56") = ""
'     .Rows("16:55").Hidden = True
     .Range("X1") = ""
     .Range("Z1") = ""

      .Range("I58") = "=IFERROR(AVERAGE(IF(I8:I12<>0,I8:I12)),0)"
      .range("D58") = "=IF(I58="TBD","TBD",LOOKUP(I58,{0,51,61,76,86,101,116,150},{"劣","差","较差","一般","合格","良好","优秀"}))"
      .Range("D58") = "=""人民币(大写) ""&N2RMB(I58)"
      .Range("I8:I57").FormulaR1C1 = "=RC[-2]*RC[-1]"
End With


Call ShowLine
Application.ScreenUpdating = True
End Sub

最佳答案
2022-5-28 10:10
本帖最后由 zjdh 于 2022-5-28 10:11 编辑

.Range("D58") = "=IF(I58=""TBD"",""TBD"",LOOKUP(I58,{0,51,61,76,86,101,116,150},{""劣"",""差"",""较差"",""一般"",""合格"",""良好"",""优秀""}))"
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2022-5-28 10:10 | 显示全部楼层    本楼为最佳答案   
本帖最后由 zjdh 于 2022-5-28 10:11 编辑

.Range("D58") = "=IF(I58=""TBD"",""TBD"",LOOKUP(I58,{0,51,61,76,86,101,116,150},{""劣"",""差"",""较差"",""一般"",""合格"",""良好"",""优秀""}))"
回复

使用道具 举报

 楼主| 发表于 2022-5-28 12:14 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2022-5-28 12:14 | 显示全部楼层
zjdh 发表于 2022-5-28 10:10
.Range("D58") = "=IF(I58=""TBD"",""TBD"",LOOKUP(I58,{0,51,61,76,86,101,116,150},{""劣"",""差"",""较 ...

谢谢啦
回复

使用道具 举报

 楼主| 发表于 2022-5-30 10:15 | 显示全部楼层
zjdh 发表于 2022-5-28 10:10
.Range("D58") = "=IF(I58=""TBD"",""TBD"",LOOKUP(I58,{0,51,61,76,86,101,116,150},{""劣"",""差"",""较 ...

麻烦再请教一下,下面想要的结果是根据S4单元格及以下的S列单元格中的数据,将评判结果依次填写到T4单元格及以下T列的单元格中,下面句子应该怎么改才对, 谢谢
Range("T4:T") = "=IF("S4:S"="""","""",LOOKUP("S4:S"),{0,1,51,61,76,86,101,116,150},{"" "",""劣"",""差"",""较差"",""一般"",""合格"",""良好"",""优秀""}))"
回复

使用道具 举报

 楼主| 发表于 2022-5-30 10:51 | 显示全部楼层
gaiety1974 发表于 2022-5-30 10:15
麻烦再请教一下,下面想要的结果是根据S4单元格及以下的S列单元格中的数据,将评判结果依次填写到T4单元 ...


我自己研究了以下, T4:T后面固定一个数字,这样就没报错,先这么用着, 谢谢啦
Range("T4:T500") = "=IF(S4="""","""",LOOKUP(S4,{0,1,51,61,76,86,101,116,150},{"" "",""劣"",""差"",""较差"",""一般"",""合格"",""良好"",""优秀""}))"
回复

使用道具 举报

发表于 2022-5-30 11:45 | 显示全部楼层
以100行为例
Range("T4:T104").FormulaArray = "=IF(""S4:S104""="""","""",LOOKUP(RC[-1]:R[100]C[-1],{0,1,51,61,76,86,101,116,150},{"" "",""劣"",""差"",""较差"",""一般"",""合格"",""良好"",""优秀""}))"
回复

使用道具 举报

 楼主| 发表于 2022-5-30 12:13 | 显示全部楼层
zjdh 发表于 2022-5-30 11:45
以100行为例
Range("T4:T104").FormulaArray = "=IF(""S4:S104""="""","""",LOOKUP(RC[-1]:R[100]C[-1],{0 ...

谢谢老师
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-6 01:44 , Processed in 0.151174 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表