注册 登录
编程论坛 VFP论坛

设置单元格格式,提示“语法错误”

zhousr 发布于 2024-12-23 14:15, 707 次点击
调用EXCEL设置单元格格式为自定义类型, 正数为 蓝色向上↑20,负数为红色向下 ↓7录制的宏代码为:
oExcel.ActiveSheet.Columns("K:K").Select
Selection.NumberFormatLocal = "[蓝色] ""↑""G/通用格式;[红色] ""↓""G/通用格式"
保存时提示第二行“语法错误”。
请问格式代码该如何修改?谢谢!
12 回复
#2
凝聚双眼2024-12-23 14:37
引号问题。
#3
zhousr2024-12-23 14:48
改过几种引号,没找到正确的
#4
wengjl2024-12-23 15:24
以下是引用zhousr在2024-12-23 14:15:40的发言:

调用EXCEL设置单元格格式为自定义类型, 正数为 蓝色向上↑20,负数为红色向下 ↓7,录制的宏代码为:
oExcel.ActiveSheet.Columns("K:K").Select
Selection.NumberFormatLocal = "[蓝色] ""↑""G/通用格式;[红色] ""↓""G/通用格式"
保存时提示第二行“语法错误”。
请问格式代码该如何修改?谢谢!


应该是用IF分叉
如果 蓝色...
如果 红色...
#5
sych2024-12-23 15:37
Selection.NumberFormatLocal = '"[蓝色] ""↑""G/通用格式;[红色] ""↓""G/通用格式"'
#6
zhousr2024-12-23 15:59
谢谢sych,加单引号后不提示读法错误了,但不知为什么,格式设置没成功
#7
csyx2024-12-23 19:31
VBA 中 "" 的首个 " 是转义符,类似于 C 中的 \"(大家会常见这类 \t, \n, \r ...)
其实真实含义是用双引号括住  _↑ 和 _↓
oExcel.ActiveSheet.Columns("K:K").NumberFormatLocal = '[蓝色]" ↑"G/通用格式;[红色]" ↓"G/通用格式'
如果不需要 ↑ 和 ↓ 前面的那个空格,根本不需要中间的 " :
oExcel.ActiveSheet.Columns("K:K").NumberFormatLocal = "[蓝色]↑G/通用格式;[红色]↓G/通用格式"
通常,应避免使用本地格式,最好这样:
oExcel.ActiveSheet.Columns("K:K").NumberFormat = "[Blue]↑General;[Red]↓General"


[此贴子已经被作者于2024-12-24 08:57编辑过]

#8
schtg2024-12-24 06:00
回复 7楼 csyx
学习啦,谢谢!
#9
easyppt2024-12-24 08:17
大佬们真厉害,学习了!
#10
zhousr2024-12-24 10:07
非常非常感谢!!!
#11
zhousr2024-12-24 10:37
不好意思,想再问一下C版,现在正、负数的格式正确了,0值显示为“↑0”。能不能再加个格式码,使0值显示为黑色“/”呢?谢谢!
#12
csyx2024-12-24 12:14
oExcel.ActiveSheet.Columns("K:K").NumberFormat = '[Blue]↑General;[Red]↓General;"/"'
#13
zhousr2024-12-24 13:02
csyx版主,非常感谢!!!
1