You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Excel VBA设置自定义货币数字格式时出现Error 13类型不匹配错误求助

解决Excel VBA设置自定义货币格式时的Error 13(类型不匹配)问题

你的问题根源出在自定义格式字符串里的双引号没有正确转义——在VBA中,字符串内部的双引号必须用两个连续的双引号("")来表示,否则VBA会把单个双引号当成字符串的结束标志,导致语法混乱,触发类型不匹配错误。

修正后的代码

ThisWorkbook.Sheets("Calculatie").Range("G2:H1000").NumberFormat = "_ € * #.##0,00_ ;_ € * -#.##0,00_ ;_ € * ""-""??_ ;_ @_ "

关键修正点解释

你原来的格式字符串里的 " - " 部分,在VBA里必须写成 ""-"":

  • 原格式中的 _ € * " - "??_ 要改为 _ € * ""-""??_
  • 这样VBA才能正确识别这是字符串内部的双引号,而不是字符串的结束标记

格式对应规则回顾

这个自定义格式的四个部分(用分号分隔)分别对应:

  1. _ € * #.##0,00_ :正数格式——下划线留空对齐,显示€,数值右对齐,保留两位小数
  2. _ € * -#.##0,00_ :负数格式——同上,只是数值前加负号
  3. _ € * ""-""??_ :零值格式——显示€和短横线,??用于对齐小数位
  4. _ @_ :文本格式——原样显示输入的文本

内容的提问来源于stack exchange,提问作者Rick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 23:32:40