我被分配了一个工作中的项目来开发一个Macro,该Macro将自动从Excel表中获取财务数据并为客户生成贷方通知单和发票。我已经开发了宏,它可以按应有的方式工作,但是我遇到的问题是每张发票所使用的语言。
在生成贷方通知单时,宏将从财务数据表中获取发票的发行月份,然后将其显示为向客户发行信用的月份。也就是说,客户要求在一段时间内(例如2019年2月-2019年4月)对交易进行部分退款,其显示为:
February 2019 (02-19) -20.20
March 2019 (03-19) -32.03
April 2019 (04-19) -24.21
问题是我的主要工作语言是英语,但是我的公司在多个欧洲市场工作,并且发票和贷方通知单必须以客户所在市场的语言显示。
因此,如果意大利客户请求发票,则显示的月份必须列为
Febbraio 2019 (02-19) -20.20
Marzo 2019 (03-19) -32.03
Aprile 2019 (04-19) -24.21
但是,当运行宏时,它仍以英语显示发行月份,而应以市场语言显示。使用此宏创建的所有发票和贷方票据的全部均以正确的语言生成,但是由于宏从数据表中提取了发行月份,因此它会自动以英语显示它们。
有什么方法可以确保以所需的语言显示发行月份?
我已经知道可以更改整个工作簿的语言设置,但是仍然遇到相同的问题,因为每次运行宏以确保发布月份正确时,都必须手动更改发布语言?
答案 0 :(得分:0)
要在其他区域设置中设置日期格式,您需要为所需的单元格范围更改日期的数字格式。例如。格式化单元格,按 Ctrl + 1 会出现以下对话框,然后为所需国家/地区选择区域设置(“ Gebietsschema” )。
或者使用Range.NumberFormat property通过VBA格式化单元格:
.NumberFormat = "[$-it-IT]d mmmm yyyy;@"
请注意,如果您的日期是实际日期值,那么这两种方法都可以使用,但是如果您的日期是文本,则这两种方法都无法使用。如果它们是文本,则需要将其更改为真实日期。